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.

¿Fue útil?

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
scroll top