PHP: Crea array di array, ignorando array vuoti
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.
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