2010-06-02 7 views
0

J'ai un tableau qui est généré dynamiquement et il a quelques éléments vides. Comment puis-je me débarrasser des éléments vides d'un tableau?comment se débarrasser des éléments vides

réseau
0 => string '' (longueur = 0)
1 => string 'x% 6WM' (longueur = 5)
2 => string 'x% 6wmvf' (longueur = 7) 3 => string 'x% 645' (longueur = 5) 4 => string '' (longueur = 0)

Et je veux qu'il devienne comme

tableau
0 => string ' x% 6wm '(longueur = 5)
1 => chaîne' x% 6wmvf '(longueur = 7)
2 => string « x% 645 » (longueur = 5)
Merci

Répondre

2

Vous pouvez combiner les fonctions array_filter() et array_values() pour atteindre votre objectif.

$cleanArray = array_values(array_filter($array));

+0

L'appel array_values ​​est-il nécessaire si vous n'avez pas de clés associatives? –

+0

Si vous souhaitez conserver vos clés de tableau intactes, vous devez omettre 'array_values'. Cependant, si vous voulez que vos touches de tableau soient réinitialisées et sans lacunes, vous devez ajouter cette fonction. – Piro

0

Vous pouvez boucle throuh et vérifier chaque élément du tableau si elle est vide ou non et si elle est vide, vous pouvez supprimer cet élément.

+0

Inefficace. Utilisez toujours les fonctions intégrées de PHP lorsqu'elles sont disponibles - elles ne sont généralement que des wrappers pour les fonctions C, et en tant que telles, elles sont super rapides. Looping à travers manuellement prendrait une éternité. –

+0

@Travis Leleu: Bon point :) – Saleh

0

Par-dessus du filtre de tableau et les valeurs travailleraient très bien pour cela.

$array = array("", "Hello", "", "World", "");

$info = array_values(array_filter($array));

print_r($info);

Questions connexes