- print_r: documentation ( source)
- array_merge: documentation ( source)
- array_shift: documentation ( source)
<?php
$array1 = [8,11,5,6,7];
$array2 = [1,2,3];
$arrays = [$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));