[ create a new paste ] login | about

Link: http://codepad.org/DwdElIUN    [ raw code | output | fork ]

PHP, pasted on May 24:
<?php
    $multidimensional = array(
      0 => array(
        0 => 1,
        1 => 2,
        2 => 3,
      ),
      1 => array(
        0 => 5,
        1 => 6,
        2 => 7,
      ),
      2 => array(
        0 => 4,
        1 => 5,
      ),
    );


    $permutations = array();
    $count = count($multidimensional);
    for ($i = 0; $i < $count; $i++) {
      $temp = array_map("permute",array($permutations),array($multidimensional[$i]));
      $permutations = $temp[0];
    }
    print_r($permutations); // OUTPUT

    function permute($base,$add) {
      $result = array();
      if (count($base) > 0) {
        foreach ($base AS $val1) {
          if (count($add) > 0) {
            foreach ($add AS $val2) {
              $result[] = $val1.$val2;
            }
          }
          else {
            $result = $base;
          }
        }
      }
      else {
        $result = $add;
      }
      return $result;
    }


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Array
(
    [0] => 154
    [1] => 155
    [2] => 164
    [3] => 165
    [4] => 174
    [5] => 175
    [6] => 254
    [7] => 255
    [8] => 264
    [9] => 265
    [10] => 274
    [11] => 275
    [12] => 354
    [13] => 355
    [14] => 364
    [15] => 365
    [16] => 374
    [17] => 375
)


Create a new paste based on this one


Comments: