Maison >développement back-end >tutoriel php >Conseils pour gérer les valeurs vides et les valeurs nulles lors de la déduplication de tableaux PHP

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

王林
王林original
2024-04-26 17:03:01425parcourir

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);
  1. 使用array_unique函数并定义自定义比较函数:
$arr = ['red', 'blue', 'green', null, '', 'red'];

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

$result = array_unique($arr, SORT_REGULAR, 'cmp');
  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;
    }, []);

      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);

        Utilisez le array_reduce fonction :

        Array
        (
            [0] => Array
                (
                    [name] => John Doe
                    [age] => 30
                )
            [1] => Array
                (
                    [name] => Jane Doe
                    [age] => 25
                )
        )

        🎜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!

    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