Maison > développement back-end > Problème PHP > Comment supprimer les éléments nuls ou vides dans un tableau

Comment supprimer les éléments nuls ou vides dans un tableau

Johnathan Smith
Libérer: 2025-03-03 16:44:14
original
797 Les gens l'ont consulté

Suppression des éléments nuls ou vides d'un tableau PHP

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 )
Copier après la connexion

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 )
Copier après la connexion

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 )
Copier après la connexion

Cette méthode est considérablement plus rapide que de l'utilisation d'une

Loop pour les réseaux plus grands.

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 )
Copier après la connexion
La meilleure façon de filtrer les chaînes vides et les nuls est, comme expliqué précédemment, en utilisant

avec une fonction de rappel qui vérifie les deux conditions: foreach

Cela combine l'efficacité de

avec la précision de la vérification des conditions de chaîne nulles et vides.

Fonctions PHP intégrées pour nettoyer un tableau d'éléments nuls et vides

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal