Cet article montre comment supprimer des éléments vides d'un tableau en PHP.

1. Utilisation array_filter() fonction

La array_filter() La fonction supprime toutes les valeurs fausses du tableau si aucune fonction de rappel n'est fournie. Les fausses valeurs en PHP sont booléennes false, entier 0, flotter 0.0 et -0.0, chaîne "0" et "", type d'unité NULL, et un tableau vide. Il convient de noter que la variable de ressource et le NAN ne sont pas considérés comme faux en PHP.

Télécharger  Exécuter le code

 
Si la fonction de rappel est fournie, seules les entrées du tableau qui ne satisfont pas le prédicat fourni seront supprimées. Par exemple, le code suivant supprime uniquement les chaînes vides ("") et NULL valeurs du tableau.

Télécharger  Exécuter le code

 
L'expression array_filter($arr) est équivalent à array_filter($arr, function($val){return !empty($val);}). Vous pouvez ajouter ou supprimer des éléments du prédicat selon vos besoins. Par exemple, ce qui suit comprend 0 à partir des valeurs fausses.

Télécharger  Exécuter le code

 
Vous pouvez utiliser le array_filter() fonction pour supprimer uniquement un élément particulier du tableau. Par exemple, ce qui suit supprime uniquement les chaînes vides ("") du tableau.

Télécharger  Exécuter le code

 
Vous pouvez aussi utiliser array_filter() en utilisant les fonctions intégrées de PHP comme rappel. Par exemple, la solution suivante utilise le strlen() fonctionne comme un rappel et supprime les chaînes vides (""), false, et NULL du tableau, mais ignore true, 0, 0.0, et "0". C'est parce que lestrlen() la fonction renvoie une valeur nulle pour "", false, et NULL, mais une valeur non nulle pour true, 0, 0.0, et "0".

Télécharger  Exécuter le code

2. Utilisation array_diff() fonction

Alternativement, vous pouvez utiliser le array_diff() fonction pour supprimer les éléments vides d'un tableau. Il calcule la différence entre les tableaux et renvoie les valeurs présentes uniquement dans le tableau d'entrée, mais pas dans les autres tableaux.

Cependant, il compare la représentation sous forme de chaîne des éléments. c'est-à-dire deux éléments $x et $y sont considérés égaux si et seulement si (string)$x === (string)$y.

Télécharger  Exécuter le code

Il s'agit de supprimer les éléments vides d'un tableau en PHP.