Comment effacer les valeurs nulles dans un tableau php

PHPz
Libérer: 2023-04-26 13:45:48
original
854 Les gens l'ont consulté

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 nulles​​dans un tableau, vous devez faire attention aux deux points suivants :

  1. Passez la fonction de rappel : Parce que les conditions de filtre sont différentes, nous devons passez une fonction de rappel pour déterminer si l'élément actuel du tableau est nul. La fonction de rappel peut être personnalisée pour déterminer s'il convient de conserver chaque élément du tableau en jugeant l'élément. Voici un exemple de code qui utilise une fonction de rappel personnalisée pour effacer les valeurs vides dans le tableau :
function removeEmptyValues($value) {
    return !empty($value) || $value === 0;
}

$array = array("", "test", null, " ", 0, "0");
$result = array_filter($array, "removeEmptyValues");

print_r($result);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [1] => test
    [3] =>  
    [4] => 0
    [5] => 0
)
Copier après la connexion

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.

  1. Passer les noms de clés du tableau : par défaut, lorsque vous utilisez la fonction array_filter() pour effacer les valeurs vides dans le tableau, la fonction réindexera le nouveau tableau, ce qui signifie que les noms de clés du tableau d'origine peuvent être supprimé. Si vous souhaitez conserver le nom de clé du tableau d'origine, vous devez transmettre le nom de clé du tableau à la fonction de rappel, comme indiqué ci-dessous :
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);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [sex] => male
)
Copier après la connexion

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 nulles​​dans un tableau :

$array = array("", "test", null, " ", 0, "0");
$result = array();

foreach ($array as $value) {
    if (!empty($value) || $value === 0) {
        $result[] = $value;
    }
}
print_r($result);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => test
    [1] =>  
    [2] => 0
    [3] => 0
)
Copier après la connexion

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

Le résultat de sortie est :

Array
(
    [0] => 
    [1] => test
    [2] => 
    [3] =>  
    [4] => 
    [5] => 0
)
Copier après la connexion

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 nulles​​dans 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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal