有如下若干个数组
$arr[]=array('2'=>20,'3'=>30,'4'=>40,'typeid'=>1);
$arr[]=array('5'=>'白色','6'=>'灰色','7'=>'银色','typeid'=>2);
$arr[]=array('8'=>'XL','9'=>'XM','10'=>'Y','typeid'=>3);
组合成一个数组格式如下:
$result[0]Array ( [2] => 20 [5] => 白色 [8]=> XL )[1]Array ( [2] => 20 [6] => 灰色 [8]=> XL )[2]Array ( [2] => 20 [6] => 灰色 [9]=> XM ) 
这样的格式,数组的个数不确定,或许2,甚至更多, 从每一个数组里取出一个元素,来组合成新的数组元素,
也就是说要组合的所有数组,的元素乘积,便是 新数组的元素数量,请高手指教,递归和循环我都试过,没成功,有详细代码参考最好了, 

解决方案 »

  1.   

    <?php
    $arr[]=array('2'=>20,'3'=>30,'4'=>40,'typeid'=>1);
    $arr[]=array('5'=>'白色','6'=>'灰色','7'=>'银色','typeid'=>2);
    $arr[]=array('8'=>'XL','9'=>'XM','10'=>'Y','typeid'=>3); $result = array();
    foreach($arr as $a){
    $i=0;
    foreach( $a as $key => $value){
    $result[$i++][$key] = $value;
    //printf("%s=>%s<br>",$key,$value);
    }
       
    }
    print_r($result);
    ?>