Domanda

Ho bisogno di creare un array di array.
Sono stato con array_map(null,$a,$b,$c) per fare questo e funziona benissimo, tuttavia, non funziona se una delle matrici mappati non esiste.

Per ovviare a questo problema ho usato:

$myArray= array();
if (isset($a)) {
    array_push($myArray,$a);
}
if (isset($b)) {
    array_push($myArray,$b);
}
if (isset($c)) {
    array_push($myArray,$c);
}

C'è un più elegante / metodo più breve di scrivere questo?
Ho provato l'applicazione di alcune funzioni tramite array_map($function,$a,$b,$c) ma senza fortuna.

È stato utile?

Soluzione

$myArray = array_filter(array($a, $b, $c));

Altri suggerimenti

È possibile utilizzare la seguente funzione:

function joinArrays(){
  $arrays = func_get_args();
  $output = array();
  foreach($arrays as $array){
     if(!empty($array)) array_push($output, $array);
  }
  return $output;
}

chiamare come: joinArrays ($ a, $ b, $ c, ecc ..);

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top