Maison >développement back-end >Problème PHP >Comment supprimer des paires de valeurs nulles dans un tableau à deux dimensions en php

Comment supprimer des paires de valeurs nulles dans un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-23 17:48:54716parcourir

Lors du développement avec PHP, nous rencontrons souvent le besoin d'exploiter des tableaux. Un tableau est une structure de données courante et est également largement utilisé en PHP. Un tableau bidimensionnel est un type spécial de tableau dont les éléments sont également des tableaux. Dans le développement réel, nous devons parfois supprimer des paires de valeurs nulles dans un tableau à deux dimensions, ce qui nécessite l'utilisation de certaines fonctions de tableau PHP pour y parvenir.

1. Qu'est-ce qu'un tableau à deux dimensions ?

Si les éléments d'un tableau sont également un tableau, alors le tableau est un tableau à deux dimensions. En PHP, un tableau bidimensionnel peut être défini comme suit :

$arr = array(
    array(1,2,3),
    array(4,5,6),
    array(7,8,9)
);

Le code ci-dessus crée un tableau bidimensionnel contenant 3 éléments, chaque élément est un tableau unidimensionnel contenant 3 éléments.

2. Supprimer les paires de valeurs nulles dans le tableau bidimensionnel

Dans le développement réel, nous devons parfois supprimer les paires de valeurs nulles dans le tableau bidimensionnel. La paire de valeurs dites nulles signifie que la valeur correspondant à une clé dans le tableau est une chaîne vide, nulle, 0 ou aucune valeur. Nous pouvons utiliser les différentes fonctions de tableau de PHP pour atteindre cet objectif.

  1. Utilisez la fonction array_filter pour filtrer

La fonction array_filter peut être utilisée pour filtrer toutes les paires de valeurs nulles dans un tableau. Son premier paramètre est le tableau qui doit être filtré et le deuxième paramètre est une fonction de rappel utilisée pour. filtrer le tableau. Filtrer chaque élément.

function filterEmpty($arr) {
    foreach($arr as $key=>$value) {
        if(is_array($value)) {
            $arr[$key] = filterEmpty($value);
        }
    }

    return array_filter($arr);
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

$arr = filterEmpty($arr);
var_dump($arr);

Le code ci-dessus définit une fonction filterEmpty pour filtrer les paires de valeurs nulles dans un tableau à deux dimensions et utilise une fonction récursive pour parcourir chaque élément du tableau. Si l'élément lui-même est un tableau, la fonction filterEmpty elle-même est appelée pour. continuer la traversée. Ensuite, utilisez la fonction array_filter pour filtrer chaque élément afin d'obtenir un tableau qui ne contient pas de paires de valeurs nulles.

  1. Utilisez la fonction array_walk

La fonction array_walk peut parcourir chaque élément du tableau et y effectuer des opérations spécifiques. Nous pouvons définir une fonction de rappel pour juger chaque élément et supprimer les paires de valeurs nulles.

function walkEmpty(&$value, $key) {
    if(is_array($value)) {
        $value = array_filter($value);
    }

    if(empty($value)) {
        unset($value);
    }
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

array_walk($arr, 'walkEmpty');
var_dump($arr);

Le code ci-dessus définit une fonction walkEmpty comme fonction de rappel et utilise la fonction array_walk pour parcourir chaque élément du tableau $arr et le juger. Si l'élément est un tableau, utilisez d'abord la fonction array_filter pour filtrer les paires de valeurs nulles dans le tableau. Ensuite, déterminez si l'élément est vide. S'il est vide, utilisez la fonction unset pour supprimer l'élément du tableau.

  1. Utilisez la boucle foreach pour parcourir le tableau

Nous pouvons également utiliser la boucle foreach pour parcourir le tableau et juger chaque élément.

function deleteEmpty($arr) {
    foreach($arr as $key=>$value) {
        if(is_array($value)) {
            $arr[$key] = deleteEmpty($value);
        }

        if(empty($value)) {
            unset($arr[$key]);
        }
    }

    return $arr;
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

$arr = deleteEmpty($arr);
var_dump($arr);

Le code ci-dessus définit une fonction deleteEmpty, utilisant une boucle foreach pour parcourir chaque élément du tableau $arr et le juger. Si l'élément est un tableau, appelez la fonction deleteEmpty elle-même pour continuer le parcours. Ensuite, déterminez si l'élément est vide. S'il est vide, utilisez la fonction unset pour supprimer l'élément du tableau.

3. Résumé

Un tableau bidimensionnel est une structure de données courante qui est souvent utilisée dans le développement PHP. La suppression de paires de valeurs nulles dans un tableau à deux dimensions est également une opération courante. L'article ci-dessus présente trois méthodes d'implémentation, utilisant la fonction array_filter, la fonction array_walk et la boucle foreach pour parcourir le tableau. Nous pouvons choisir la méthode qui nous convient en fonction de nos besoins spécifiques.

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