$array[] = array('XL', 'L', 'S', 'M'); $array[] = array('Niebieski', 'Czerwony');
function printRecursive($array, $index = 0, $str = '')
{
if($index < count($array) - 1
) {
foreach($array[$index] as $value)
printRecursive($array, $index + 1, $str.$value);
} else
{
foreach($array[$index] as $value)
{
}
}
}
Źródło: http://forum.php.pl/index.php?s=&showt...st&p=792551inne rozwiązanie:
$array[] = array('XL', 'L', 'S', 'M'); $array[] = array('Niebieski', 'Czerwony');
foreach($array as $val)
$numTypes = count($keys);
$numTotal = 1;
for($i = 0; $i < $numTypes; $i++)
{
$tmp = count($values[$i]); $switch[$i + 1] = $switch[$i] * $tmp;
$numTotal *= $tmp;
}
for($i = 0; $i < $numTotal; $i++)
{
for($j = 0; $j < $numTypes; $j++)
$result[$j] = $values[$j][floor($i / $switch[$j]) % count($values[$j])];
}
Źródło: http://forum.php.pl/index.php?s=&showt...st&p=110607Jeszcze jedno rozwiązanie:
$array[1
] = array('XL', 'L', 'S', 'M'); $array[2
] = array('Niebieski', 'Czerwony');
function Kombinacje($n, $txt)
{
foreach($array[$n] as $b)
if(isset($array[$n + 1
])) Kombinacje($n + 1, $txt.' '.$b);
else
echo $txt.' '.$b.'<br />'; }
Kombinacje(1, '');
Źródło: http://www.forum.optymalizacja.com/topic/4...cy/#entry371212function array_cartesian()
{
$c = call_user_func_array(__function__, $_);
foreach($a as $v)
foreach($c as $p)
return $r;
}
array_cartesian
(array('XL', 'L', 'S', 'M'), array('Niebieski', 'Czerwony'));
Źródło: http://stackoverflow.com/questions/2516599...2516779#2516779