Conseils pour gérer les valeurs vides et les valeurs nulles lors de la déduplication de tableaux PHP

王林
Libérer: 2024-04-26 17:03:01
original
384 Les gens l'ont consulté

Conseils pour gérer les valeurs vides et nulles lors de la déduplication de tableaux PHP : utilisez array_unique avec array_filter pour filtrer les valeurs vides et nulles. Utilisez array_unique et définissez une fonction de comparaison personnalisée qui traite les valeurs nulles et nulles comme égales. Utilisez array_reduce pour parcourir un tableau et ajouter des éléments s'ils ne contiennent pas de valeurs vides ou nulles.

PHP 数组去重时处理空值和 null 值的技巧

Conseils pour gérer les valeurs nulles et nulles lors de la déduplication de tableaux PHP

Questions

Lors de la suppression des doublons dans un tableau, vous devez réfléchir à la manière de gérer les valeurs nulles et nulles. Par défaut, les chaînes vides et les valeurs nulles sont traitées comme des valeurs différentes, ce qui peut entraîner des doublons inattendus.

Conseils

Trois techniques courantes pour gérer les valeurs vides et nulles :

  1. Utilisez la fonction array_unique avec la fonction array_filter : array_unique函数搭配array_filter函数:
$arr = ['red', 'blue', 'green', null, '', 'red'];

$filtered_arr = array_filter($arr);
$result = array_unique($filtered_arr);
Copier après la connexion
  1. 使用array_unique函数并定义自定义比较函数:
$arr = ['red', 'blue', 'green', null, '', 'red'];

function cmp($a, $b) {
    return $a === $b;
}

$result = array_unique($arr, SORT_REGULAR, 'cmp');
Copier après la connexion
  1. 使用array_reduce
  2. $arr = ['red', 'blue', 'green', null, '', 'red'];
    
    $result = array_reduce($arr, function($carry, $item) {
        if (!in_array($item, $carry) || $item !== '') {
            $carry[] = $item;
        }
        return $carry;
    }, []);
    Copier après la connexion

      Utilisez la fonction array_unique et définissez une fonction de comparaison personnalisée :

      $users = [
          ['name' => 'John Doe', 'age' => 30],
          ['name' => 'Jane Doe', 'age' => 25],
          ['name' => 'John Doe', 'age' => 30], // 重复项
          ['name' => null, 'age' => null], // 空值
      ];
      
      $unique_users = array_filter($users);
      $unique_users = array_unique($unique_users);
      
      print_r($unique_users);
      Copier après la connexion

        Utilisez le array_reduce fonction :

        Array
        (
            [0] => Array
                (
                    [name] => John Doe
                    [age] => 30
                )
            [1] => Array
                (
                    [name] => Jane Doe
                    [age] => 25
                )
        )
        Copier après la connexion
        🎜Cas pratique🎜🎜🎜L'exemple suivant montre l'utilisation de la première technique pour filtrer et dédupliquer un tableau contenant des valeurs vides et nulles : 🎜rrreee🎜🎜Sortie : 🎜🎜rrreee

        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!

    Étiquettes associées:
    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