PHP 多个数组的排列组合
http://ask.gaodaima.com/questions/148636
——解决方案——————–
function foo($d) {<br /> $r = array_pop($d);<br /> while($d) {<br /> $t = array();<br /> $s = array_pop($d);<br /> if(! is_array($s)) $s = array($s);<br /> foreach($s as $x) {<br /> foreach($r as $y) $t[] = array_merge(array($x), is_array($y) ? $y : array($y));<span style="color:transparent">本文来源gaodai#ma#com搞*!代#%^码$网!</span><strong>搞代gaodaima码</strong><br /> }<br /> $r = $t;<br /> }<br /> return $r;<br />}<br />$ar = array(<br /> array(1,2,3,4),<br /> array('a','b','c'),<br />);<br />print_r(foo($ar));<br />
<br />Array<br />(<br /> [0] => Array<br /> (<br /> [0] => 1<br /> [1] => a<br /> )<br /><br /> [1] => Array<br /> (<br /> [0] => 1<br /> [1] => b<br /> )<br /><br /> [2] => Array<br /> (<br /> [0] => 1<br /> [1] => c<br /> )<br /><br /> [3] => Array<br /> (<br /> [0] => 2<br /> [1] => a<br /> )<br /><br /> [4] => Array<br /> (<br /> [0] => 2<br /> [1] => b<br /> )<br /><br /> [5] => Array<br /> (<br /> [0] => 2<br /> [1] => c<br /> )<br /><br /> [6] => Array<br /> (<br /> [0] => 3<br /> [1] => a<br /> )<br /><br /> [7] => Array<br /> (<br /> [0] => 3<br /> [1] => b<br /> )<br /><br /> [8] => Array<br /> (<br /> [0] => 3<br /> [1] => c<br /> )<br /><br /> [9] => Array<br /> (<br /> [0] => 4<br /> [1] => a<br /> )<br /><br /> [10] => Array<br /> (<br /> [0] => 4<br /> [1] => b<br /> )<br /><br /> [11] => Array<br /> (<br /> [0] => 4<br /> [1] => c<br /> )<br /><br />)<br /><br />
——解决方案——————–