Returns the array combination algorithm PHPcodearray (2) {[8] & gt; array (2) {[0] & gt; string (2) & quot; 63 & quot; [1] & gt; string (2) & quot; 64 & quot;} [9] & gt; array (2) {[0] & gt; string (2) & quot; array combination algorithm
PHP code
array(2) { [8] => array(2) { [0] => string(2) "63" [1] => string(2) "64" } [9] => array(2) { [0] => string(2) "78" [1] => string(2) "79" }}
How many arrays are combined between two arrays? Thank you!
------ Solution --------------------
PhpNewnew has discussed this.
Http://topic.csdn.net/u/20120325/11/cb8beb24-845c-4d16-be52-92f74b21a30c.html
------ Solution --------------------
This is a question about Cartesian product.
PHP code
$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;}