Dans le développement PHP, nous devons souvent traiter les données d'un tableau, et effacer les valeurs nulles est une tâche courante. Une valeur nulle peut faire référence à une chaîne vide, une valeur nulle ou une valeur non définie. Dans cet article, nous explorerons comment effacer les valeurs nulles d'un tableau à l'aide des fonctions PHP.
1. Fonction PHP array_filter()
PHP fournit une fonction array_filter(), qui peut filtrer un tableau et renvoyer un nouveau tableau filtré. Vous pouvez passer une fonction de rappel pour déterminer quelles valeurs sont conservées.
Lorsque vous utilisez la fonction array_filter() pour effacer les valeurs nullesdans un tableau, vous devez faire attention aux deux points suivants :
function removeEmptyValues($value) { return !empty($value) || $value === 0; } $array = array("", "test", null, " ", 0, "0"); $result = array_filter($array, "removeEmptyValues"); print_r($result);
Le résultat de sortie est :
Array ( [1] => test [3] => [4] => 0 [5] => 0 )
La fonction removeEmptyValues() détermine ici si l'élément du tableau est une chaîne vide, valeur nulle ou 0 Détermine s'il faut conserver l'élément. Notez que vous devez utiliser === au lieu de == pour comparer strictement 0 et la chaîne vide.
function removeEmptyValues($key, $value) { return !empty($value) || $value === 0; } $array = array("name" => "", "age" => null, "sex" => "male"); $result = array_filter($array, "removeEmptyValues", ARRAY_FILTER_USE_BOTH); print_r($result);
Le résultat de sortie est :
Array ( [sex] => male )
Dans la fonction de rappel, nous avons passé deux paramètres $key et $value , $key représente le nom de clé de l'élément actuel du tableau, $value représente la valeur de l'élément du tableau. Dans ce cas, nous devons ajouter le troisième paramètre ARRAY_FILTER_USE_BOTH, ce qui signifie utiliser la fonction de rappel pour transmettre le nom de la clé et la valeur de la clé.
2. Utilisez foreach()
En plus de la fonction array_filter(), nous pouvons également utiliser la boucle foreach() pour effacer les valeurs nulles dans le tableau. Cette méthode parcourt les éléments du tableau un par un pour effacer les valeurs nulles. Le code suivant montre comment utiliser foreach() pour effacer les valeurs nullesdans un tableau :
$array = array("", "test", null, " ", 0, "0"); $result = array(); foreach ($array as $value) { if (!empty($value) || $value === 0) { $result[] = $value; } } print_r($result);
Le résultat de sortie est :
Array ( [0] => test [1] => [2] => 0 [3] => 0 )
Cette méthode parcourt les éléments du tableau et utilise une instruction if pour déterminer si l'élément est nul, et s'il n'est pas nul, les valeurs sont ajoutées au nouveau tableau.
3. Utilisez la fonction array_map()
PHP fournit également une autre fonction array_map(), qui peut appliquer la fonction de rappel spécifiée à chaque élément du tableau et renvoyer un nouveau tableau. Nous pouvons effacer les valeurs nulles du tableau en passant une fonction de rappel. Voici un exemple de code qui utilise la fonction array_map() pour effacer les valeurs nulles du tableau :
function removeEmptyValues($value) { return !empty($value) || $value === 0; } $array = array("", "test", null, " ", 0, "0"); $result = array_map("removeEmptyValues", $array); print_r($result);
Le résultat de sortie est :
Array ( [0] => [1] => test [2] => [3] => [4] => [5] => 0 )
Notez que lorsque vous utilisez la fonction array_map() pour effacer les valeurs nulles du tableau, les noms de clé d'index dans le tableau d'origine ne sera pas conservé, donc seule la valeur de l'élément est conservée dans le résultat de sortie.
Résumé
Dans le développement PHP, nous avons souvent besoin d'effacer les valeurs nullesdans les tableaux. Cet article présente trois méthodes courantes : l'utilisation de la fonction array_filter(), de la boucle foreach() et de la fonction array_map(). Parmi elles, la fonction array_filter() est la plus largement utilisée parmi les trois méthodes, et la fonction de rappel peut être personnalisée pour répondre à différents besoins. Si vous devez conserver les noms de clé du tableau d'origine, vous pouvez utiliser le troisième paramètre de array_filter() ou une fonction de rappel personnalisée et transmettre le nom de clé et la valeur de clé comme deux paramètres. Si vous devez conserver les noms de clé et les index du tableau d'origine, vous pouvez utiliser foreach() pour parcourir le tableau et déterminer si les éléments sont nuls un par un. Lorsque vous utilisez la fonction array_map() pour effacer les valeurs nulles, notez que les noms de clé d'index du tableau de sortie peuvent être réinitialisés, donc si vous devez conserver les noms de clé du tableau d'origine, vous devez les gérer séparément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!