PHP: Crear matriz de matrices, haciendo caso omiso de las matrices vacías
Pregunta
Es necesario crear una matriz de matrices.
He estado usando array_map(null,$a,$b,$c)
hacer esto y funciona bien, sin embargo, no funciona si una de las matrices asignadas no existe.
Para solucionar este problema que he utilizado:
$myArray= array();
if (isset($a)) {
array_push($myArray,$a);
}
if (isset($b)) {
array_push($myArray,$b);
}
if (isset($c)) {
array_push($myArray,$c);
}
¿Hay un método más elegante / más corta de escribir esto?
He intentado aplicar algunas funciones a través de array_map($function,$a,$b,$c)
pero sin suerte.
Solución
$myArray = array_filter(array($a, $b, $c));
Otros consejos
Se puede usar la siguiente función:
function joinArrays(){
$arrays = func_get_args();
$output = array();
foreach($arrays as $array){
if(!empty($array)) array_push($output, $array);
}
return $output;
}
llamar como: joinArrays ($ a, $ b, $ c, etc ..);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow