- print_r: documentation ( source)
- array_merge: documentation ( source)
- array_shift: documentation ( source)
<?php
$array1 = array(8,11,5,6,7);
$array2 = array(1,2,3);
$arrays = array($array1, $array2);
function array_cartesian($arrays)
{
if(count($arrays) == 0) {
return array(array());
}
$a = array_shift($arrays);
$c = array_cartesian($arrays);
$r = [];
foreach($a as $v) {
foreach($c as $p) {
$r[] = array_merge(array($v), $p);
}
}
return $r;
}
print_r(array_cartesian($arrays));