Cette question aborde comment supprimer les éléments nuls ou vides d'un tableau PHP. Il existe plusieurs façons d'y parvenir, allant des boucles simples aux approches plus élégantes en utilisant des fonctions intégrées. Explorons quelques options:
Méthode 1: Utilisation de array_filter()
La fonction array_filter()
est le moyen le plus efficace et le plus concis de supprimer les éléments nuls ou vides. Il prend une fonction de rappel comme un argument, qui détermine si chaque élément doit être conservé ou supprimé.
$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== ""; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [5] => world [7] => 2 )
Ce code utilise une fonction lambda pour vérifier si l'élément n'est ni nul ni une chaîne vide. La partie !is_null($value)
vérifie explicitement les valeurs nulles, tandis que $value !== ""
vérifie les chaînes vides. Notez que 0
et false
sont considérés comme des éléments valides et seront conservés. Si vous devez également supprimer 0
et false
, vous devez modifier la fonction de rappel en conséquence (voir ci-dessous).
Méthode 2: Utilisation d'une boucle foreach
tout en étant moins efficace que array_filter()
, une foreach
cette boucle offre plus de contrôle granulaire. Seulement s'ils ne sont pas nuls et non vides.
$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = []; foreach ($array as $value) { if (!is_null($value) && $value !== "") { $filteredArray[] = $value; } } print_r($filteredArray); // Output: Array ( [0] => 1 [1] => hello [2] => world [3] => 2 )
Méthode 3: Suppression de 0 et false également
pour supprimer et
avec les chaînes nuls et vides, vous devez ajuster l'état dans la fonction de rappel de ou de l'instruction 0
dans la false
LOOP. Valeurs nulles à partir d'un tableau PHP array_filter()
if
La façon la plus efficace de supprimer uniquement les valeurs nulles d'un tableau PHP est d'utiliser foreach
avec une fonction de rappel qui vérifie les valeurs nulles:
$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== "" && $value !== 0 && $value !== false; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [5] => world [7] => 2 )
array_filter()
Array
$array = [1, null, "hello", null, "world", null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value); }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [4] => world )
avec une fonction de rappel qui vérifie les deux conditions: foreach
Bien qu'il n'y ait pas une seule fonction intégrée qui supprime directement les éléments de chaîne nuls et vides simultanément, array_filter()
est la solution intégrée la plus proche et la plus efficace. Il offre la flexibilité de définir les critères de filtrage à l'aide d'une fonction de rappel, vous permettant de supprimer des chaînes nuls, des chaînes vides ou tout autre élément indésirable en fonction de vos besoins spécifiques. L'utilisation d'une boucle foreach
est une approche alternative, mais moins efficace.
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!