如果两个数组进行排列,如下:$a1 = array(1=>"aaa1",2=>"aaa2",3=>"aaa3");
$b1 = array(1=>"bbb1",2=>"bbb2",3=>"bbb3");循环的是 
foreach($a1 as $key1=>$value1){
    foreach($b1 as $keyb=>$valueb){
        echo $value1."_".$valueb."<br />";
    }
}组合为
aaa1_bbb1,aaa2_bbb1,aaa3_bbb1,aaa1_bbb2,aaa2_bbb2,aaa3_bbb2,aaa1_bbb3,aaa2_bbb3,aaa3_bbb3
如果 数组增加到10,10个数组进行这样的 组合 除了循环还有什么方法么?

解决方案 »

  1.   

    简单点的思路如下。$a[] = array(1=>"aaa1",2=>"aaa2",3=>"aaa3");
    $a[] = array(1=>"bbb1",2=>"bbb2",3=>"bbb3");
    $a[] = array(1=>"ccc1",2=>"ccc2",3=>"ccc3");
    $a[] = array(1=>"ddd1",2=>"ddd2",3=>"ddd3");$r = $a[0];
    $i = 1;
    $j = count($a);
    for(;$i<$j;$i++)
    {
    $tmp = array();
    foreach($r as $v)
    {
    foreach($a[$i] as $v2)
    {
    $tmp[] = $v."_".$v2;
    }

    }
    $r = $tmp;
    }echo "<pre/>";
    print_r($r);
      

  2.   

    我要做一个采集,而他的参数都是通过URL 传递的,每个参数有好几个值,其他参数值不变,其中一个参数的值发生变化,页面呈现的结果就会不一样,我需要把所有的可用的URL都列出来才能更全面的采集信息。7楼正解,的确是那种组合。