11 22  33
44 55 66
77 88 99要得到11 44 77
11 44 88
11 44 99
11 55 77
11 55 88
11 55 99
...
22 44 77
22 44 88
...
33 44 77
..如此类推的函数...感冒了,脑子动不了了...感谢.

解决方案 »

  1.   

    忘记了 我在写js程序 哈哈.一样php函数写出来我给修改一下。一样给分
      

  2.   

    $a = array(11,22,33);
    $b = array(44,55,66);
    $c = array(77,88,99);
    $str = '';
    echo "<pre>";
    foreach($a as $v1) {
       foreach($b as $v2) {
          foreach($c as $v3) $str .= "{$v1} {$v2} {$v3}\n";
       }
    }
    echo $str;
      

  3.   

    这是一个求 笛卡尔积 的题目,比你第一问描述的清楚的多
    $a = array(11, 22, 33);
    $b = array(44, 55, 66);
    $c = array(77, 88, 99);
    function Descartes($a, $b) {
      $r = array();
      if(is_array($a)) foreach($a as $v) $r = array_merge($r, Descartes($v, $b));
      elseif(is_array($b)) foreach($b as $v) $r = array_merge($r, Descartes($a, $v));
      else $r[] = "$a $b";
      return $r;
    }
    print_r( Descartes( Descartes($a, $b), $c ) );
    Array
    (
        [0] => 11 44 77
        [1] => 11 44 88
        [2] => 11 44 99
        [3] => 11 55 77
        [4] => 11 55 88
        [5] => 11 55 99
        [6] => 11 66 77
        [7] => 11 66 88
        [8] => 11 66 99
        [9] => 22 44 77
        [10] => 22 44 88
        [11] => 22 44 99
        [12] => 22 55 77
        [13] => 22 55 88
        [14] => 22 55 99
        [15] => 22 66 77
        [16] => 22 66 88
        [17] => 22 66 99
        [18] => 33 44 77
        [19] => 33 44 88
        [20] => 33 44 99
        [21] => 33 55 77
        [22] => 33 55 88
        [23] => 33 55 99
        [24] => 33 66 77
        [25] => 33 66 88
        [26] => 33 66 99
    )
      

  4.   


            $arr1=array('11','22','33');
    $arr2=array('44','55','66');
    $arr3=array('77','88','99');
     function get($arr1,$arr2,$arr3){
    foreach($arr1 as $val){
        foreach($arr2 as $val2){
       foreach($arr3 as $val3){
                           $newarr[]=array($val,$val2,$val3);
       } 
        }

    }
    foreach($newarr as $v){
        $arr[]=join(' ',$v);
    }
    return $arr;
     }
    print_r(get($arr1,$arr2,$arr3));   Array
    (
      [0] => 11 44 77
      [1] => 11 44 88
      [2] => 11 44 99
      [3] => 11 55 77
      [4] => 11 55 88
      [5] => 11 55 99
      [6] => 11 66 77
      [7] => 11 66 88
      [8] => 11 66 99
      [9] => 22 44 77
      [10] => 22 44 88
      [11] => 22 44 99
      [12] => 22 55 77
      [13] => 22 55 88
      [14] => 22 55 99
      [15] => 22 66 77
      [16] => 22 66 88
      [17] => 22 66 99
      [18] => 33 44 77
      [19] => 33 44 88
      [20] => 33 44 99
      [21] => 33 55 77
      [22] => 33 55 88
      [23] => 33 55 99
      [24] => 33 66 77
      [25] => 33 66 88
      [26] => 33 66 99
    )