日期:2014-05-17 浏览次数:20694 次
array(2) {
[8] => array(2) {
[0] => string(2) "63"
[1] => string(2) "64"
}
[9] => array(2) {
[0] => string(2) "78"
[1] => string(2) "79"
}
}
$ar = array(
8 => array('63', '64'),
9 => array('78', '79'),
);
print_r(Descartes($ar));
function Descartes() {
$t = func_get_args();
if(func_num_args() == 1) return call_user_func_array( __FUNCTION__, $t[0] );
$a = array_shift($t);
if(! is_array($a)) $a = array($a);
$a = array_chunk($a, 1);
do {
$r = array();
$b = array_shift($t);
if(! is_array($b)) $b = array($b);
foreach($a as $p)
foreach(array_chunk($b, 1) as $q)
$r[] = array_merge($p, $q);
$a = $r;
}while($t);
return $r;
}