代码改变世界

多个数组 不同元素交叉组合

2013-12-25 17:42  freefei  阅读(926)  评论(0)    收藏  举报
function get_new_arr(){
 $args = func_get_args();//取得所有传入参数的数组
 echo '<pre>';print_r($args);
 $arr = array();
 foreach($args as $k=>$v){
   if($args[$k+1]) {
      switch($k) {
          case 0:
          $arr[$k] = arr_pailie($v,$args[$k+1]);
          break;
          default:
          $arr[$k] = arr_pailie($arr[$k-1],$args[$k+1]);
          break;
      }
  }
}
$key = count($arr)-1;
$res = implode('<br>',$arr[$key]);
return $res;
}
function arr_pailie ($arr1, $arr2){
    $arr = array();
    $k = 0;
    foreach($arr1 as $k1=>$v1){
        foreach($arr2 as $k2=>$v2){
            $arr[$k] = $v1.",".$v2;
            $k++;
        }
    }
    return $arr;
}

$a1 = array('a1','b1','c1');
$a2 = array('a2','b2');
$a3 = array('a3','b3');
$a4 = array('a4','b4','c4','d4');
$result= get_new_arr($a1, $a2,$a3,$a4);
echo '<pre>';
print_r($result);

  数组交叉组合

@ https://github.com/ranmufei Pop Balloons Game - Free Online Stress Relief Game