que tienen esta matriz:Todas las posibilidades en la matriz 2D
$array = array
(
array('1', '2', '3'),
array('!', '@'),
array('a', 'b', 'c', 'd'),
);
Y yo quiero saber Todos combinación de caracteres de matrices sub .. por ejemplo:
1!a
1!b
1!c
1!d
[email protected]
[email protected]
[email protected]
[email protected]
2!a
2!b
2!c
2!d
[email protected]
[email protected]
...
Actualmente estoy teniendo este código:
for($i = 0; $i < count($array[0]); $i++)
{
for($j = 0; $j < count($array[1]); $j++)
{
for($k = 0; $k < count($array[2]); $k++)
{
echo $array[0][$i].$array[1][$j].$array[2][$k].'<br/>';
}
}
}
funciona, pero creo que es feo, y cuando estoy agregando más matrices, tengo que añadir más de. Estoy bastante seguro de que hay una manera de hacer esto recursivamente, pero no sé cómo comenzar/cómo hacerlo. ¡Un poco de ayuda podría ser agradable!
Gracias!
¿Cómo no se rompe esto en PHP 5? Quiero decir, funciona ... pero ¿por qué? Pensé que recordaba haber leído algo acerca de matrices y objetos que siempre pasaban por referencia ahora ... ¿no significaría que $ array se destrozó? – cHao
@cHao: las matrices no se pasan por referencia. Es por eso que utilizo '&' para pasar explícitamente la matriz '$ result' por referencia en el segundo ejemplo. –