Dans le développement PHP, nous devons souvent effacer les tableaux avec des valeurs vides. Parce que lors du traitement des soumissions de formulaires, des requêtes de base de données, etc., nous ne pouvons pas permettre aux valeurs nulles d'occuper le tableau, sinon cela affectera le fonctionnement normal du programme. Par conséquent, il est très nécessaire de vider le tableau avec des valeurs vides. Alors, comment effacer un tableau avec des valeurs vides ?
1. Utilisez la boucle foreach pour parcourir le tableau
Tout d'abord, nous pouvons utiliser la boucle foreach pour parcourir le tableau, puis utiliser la fonction unset pour supprimer les éléments avec des valeurs vides. Par exemple :
foreach ($arr as $key => $value) { if (empty($value)) { unset($arr[$key]); } }
Dans ce code, nous parcourons le tableau $arr à travers une boucle foreach et utilisons la fonction vide pour déterminer si l'élément du tableau est vide. Si l'élément est vide, utilisez la fonction unset pour supprimer l'élément. Cela efface tous les éléments vides du tableau.
2. Utilisez la fonction array_filter pour filtrer le tableau
En plus d'utiliser la boucle foreach pour parcourir le tableau, nous pouvons également utiliser la fonction intégrée PHP array_filter pour filtrer le tableau. La fonction array_filter peut filtrer le tableau en fonction de la fonction de rappel spécifiée et renvoyer le tableau filtré. Si la fonction de rappel renvoie vrai, l'élément sera conservé, si elle renvoie faux, l'élément sera supprimé. Par exemple :
$arr = array_filter($arr, function($value) { return !empty($value); });
Dans ce code, nous transmettons une fonction de rappel qui détermine si l'élément est vide. Si l'élément n'est pas vide, il renvoie vrai et l'élément sera conservé, sinon il renvoie faux et l'élément sera supprimé. Renvoie enfin le tableau filtré.
3. Utilisez la fonction array_walk pour effacer les tableaux avec des valeurs vides
En plus d'utiliser foreach et array_filter, nous pouvons également utiliser la fonction array_walk pour effacer les tableaux avec des valeurs vides. La fonction array_walk peut appliquer une fonction définie par l'utilisateur à chaque élément d'un tableau. Par exemple :
array_walk($arr, function(&$value, $key) { if (empty($value)) { unset($arr[$key]); } });
Dans ce code, nous utilisons la fonction array_walk pour parcourir le tableau et transmettre une fonction de rappel. La fonction de rappel vérifie si l'élément du tableau est vide et, s'il est vide, utilise la fonction unset pour supprimer l'élément. Il convient de noter que nous utilisons le passage de références ($value), afin que la valeur de l'élément du tableau puisse être modifiée.
4. Utilisez des fonctions récursives pour effacer les éléments vides des tableaux multidimensionnels
Si le tableau est un tableau multidimensionnel, nous pouvons utiliser des fonctions récursives pour effacer les éléments vides. Par exemple :
function clearEmptyValue($arr) { foreach($arr as $key => $value) { if(is_array($value)) { $arr[$key] = clearEmptyValue($value); } elseif(empty($value)) { unset($arr[$key]); } } return $arr; }
Dans ce code, nous définissons une fonction récursive clearEmptyValue. Cette fonction parcourra le tableau. Si l'élément du tableau est de type tableau, elle appellera cette fonction de manière récursive pour effacer les éléments vides. Sinon, elle déterminera si l'élément est vide et le supprimera. Renvoie enfin le tableau effacé.
Résumé
Ci-dessus, il existe plusieurs façons d'effacer des tableaux avec des valeurs vides. Nous pouvons choisir une méthode de compensation appropriée en fonction du scénario commercial réel. Il convient de noter que lors de la suppression des éléments du tableau, il est préférable d'utiliser unset au lieu d'attribuer des valeurs à null ou '', car ces deux méthodes ne suppriment pas réellement les éléments du tableau, mais définissent simplement la valeur comme vide.
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!