Maison  >  Article  >  développement back-end  >  php supprime les données vides du tableau

php supprime les données vides du tableau

WBOY
WBOYoriginal
2023-05-24 14:23:38389parcourir

En PHP, le tableau est un type de données très couramment utilisé, qui peut être utilisé pour stocker un ensemble de données. Cependant, dans le développement quotidien, nous rencontrons souvent des situations où nous devons éliminer les données vides d'un tableau. Cet article explique comment éliminer les données vides dans un tableau en écrivant du code PHP.

Afin de mieux comprendre le contenu de cet article, nous devons d'abord comprendre ce qu'est un tableau et ce que sont des données vides.

Un tableau peut être compris comme une collection ordonnée de valeurs, chacune étant accessible via un identifiant unique (index). En PHP, les tableaux peuvent être créés via la fonction array() ou via la syntaxe concise []. Voici un exemple de tableau PHP :

$array = array("apple", "orange", "banana", "");

Dans l'exemple ci-dessus, nous avons créé un tableau avec quatre éléments, où le quatrième élément est une chaîne vide.

Les données vides font référence aux données dont la valeur dans le tableau est nulle, une chaîne vide, un tableau vide, false, 0 ou un objet sans aucun attribut. En PHP, vous pouvez utiliser la fonction empty() pour déterminer si une variable contient des données vides.

Maintenant, nous pouvons officiellement commencer à présenter comment supprimer les données vides du tableau. Voici deux méthodes couramment utilisées :

Méthode 1

Utilisez la fonction array_filter() intégrée de PHP. Cette fonction peut transmettre l'élément du tableau dans une fonction de rappel et déterminer s'il convient de conserver l'élément en fonction de la valeur de retour de la fonction de rappel. Par exemple, le code suivant supprimera les éléments d'un tableau dont les valeurs sont null, false, chaîne vide, tableau vide et 0 :

$array = array("apple", "", "orange", null, "banana", false, array(), 0);
$array = array_filter($array, function ($item) {
    if (is_array($item) && count($item) == 0) {
        return false; // 保留非空数组
    }
    return !empty($item); // 剔除空字符串、null、false、0
});

Dans le code ci-dessus, nous créons d'abord un tableau contenant des éléments de différents types. Ensuite, appelez la fonction array_filter() et transmettez une fonction anonyme. Dans la fonction anonyme, nous traitons les éléments du tableau et renvoyons une valeur booléenne. Si cette valeur est vraie, l'élément est conservé, sinon il est supprimé.

Il convient de noter que dans la fonction anonyme, nous effectuons un traitement spécial sur les éléments du tableau. Lorsque la valeur d’un élément est un tableau, nous devons également déterminer s’il s’agit d’un tableau vide et, si c’est le cas, le conserver. En effet, un tableau vide est également considéré comme une valeur nulle en PHP.

Enfin, nous obtenons un nouveau tableau qui ne contient pas de données vides. Voici le résultat de l'utilisation de la fonction print_r() pour générer un nouveau tableau :

Array
(
    [0] => apple
    [2] => orange
    [4] => banana
)

Vous pouvez voir que le nouveau tableau ne contient que des éléments non vides dans le tableau d'origine.

Méthode 2

Utilisez une boucle pour parcourir le tableau d'origine et supprimez les données vides qu'il contient. Cette méthode est relativement simple, mais nécessite l'écriture manuelle du code de boucle. Par exemple, le code suivant utilisera une boucle foreach pour parcourir un tableau et en supprimer les données vides :

$array = array("apple", "", "orange", null, "banana", false, array(), 0);
foreach ($array as $key => $value) {
    if (is_array($value) && count($value) == 0) {
        unset($array[$key]); // 剔除空数组
    } elseif (empty($value)) {
        unset($array[$key]); // 剔除空字符串、null、false、0
    }
}

Dans le code ci-dessus, nous créons d'abord un tableau contenant des éléments de différents types. Ensuite, utilisez une boucle foreach pour parcourir le tableau et vérifier si chaque élément est une donnée vide. Si tel est le cas, utilisez la fonction unset() pour supprimer l'élément.

Il convient de noter que lors de la suppression d'éléments de tableau, nous utilisons la fonction unset() au lieu d'utiliser directement unset($array[$key]). En effet, si nous supprimons des éléments directement en utilisant unset($array[$key]), l'index du tableau sera réindexé, ce qui peut entraîner des erreurs inattendues. L'utilisation de la fonction unset() peut éviter ce problème.

Enfin, nous obtenons également un nouveau tableau qui ne contient pas de données vides. Voici le résultat de l'utilisation de la fonction print_r() pour générer un nouveau tableau :

Array
(
    [0] => apple
    [2] => orange
    [4] => banana
)

Vous pouvez voir que le nouveau tableau ne contient que des éléments non vides dans le tableau d'origine.

Pour résumer, voici comment éliminer les données vides dans un tableau en écrivant du code PHP. Que vous utilisiez la fonction array_filter() ou le parcours de boucle, cela peut nous aider à supprimer facilement les données vides du tableau, rendant notre code plus concis et 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:
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