string(2) "64" } [9] => array(2) { [0] => string(2) ""/> string(2) "64" } [9] => array(2) { [0] => string(2) "">
Heim > Artikel > Backend-Entwicklung > 求数组组合算法解决办法
求数组组合算法
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->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;}<div class="clear"> </div>