Heim  >  Artikel  >  Backend-Entwicklung  >  Tipps zum Umgang mit leeren Werten und Nullwerten beim Deduplizieren von PHP-Arrays

Tipps zum Umgang mit leeren Werten und Nullwerten beim Deduplizieren von PHP-Arrays

王林
王林Original
2024-04-26 17:03:01381Durchsuche

Tipps zum Umgang mit Leer- und Nullwerten beim Deduplizieren von PHP-Arrays: Verwenden Sie array_unique mit array_filter, um Leer- und Nullwerte herauszufiltern. Verwenden Sie array_unique und definieren Sie eine benutzerdefinierte Vergleichsfunktion, die Null- und Nullwerte als gleich behandelt. Verwenden Sie array_reduce, um ein Array zu durchlaufen und Elemente hinzuzufügen, wenn diese keine leeren oder Nullwerte enthalten.

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

Tipps zum Umgang mit Null- und Nullwerten beim Deduplizieren von PHP-Arrays

Fragen

Beim Löschen von Duplikaten in einem Array müssen Sie überlegen, wie Sie mit Null- und Nullwerten umgehen. Standardmäßig werden leere Zeichenfolgen und Nullwerte als unterschiedliche Werte behandelt, was zu unerwarteten Duplikaten führen kann.

Tipps

Drei gängige Techniken zum Umgang mit leeren und Nullwerten:

  1. Verwenden Sie die Funktion array_unique mit der Funktion 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;
    }, []);

      Verwenden Sie die Funktion array_unique und definieren Sie eine benutzerdefinierte Vergleichsfunktion:

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

        Verwenden Sie die Funktion array_reduce Funktion:

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

        🎜Praktischer Fall🎜🎜🎜Das folgende Beispiel zeigt die Verwendung der ersten Technik zum Filtern und Deduplizieren eines Arrays mit leeren und Nullwerten: 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee

    Das obige ist der detaillierte Inhalt vonTipps zum Umgang mit leeren Werten und Nullwerten beim Deduplizieren von PHP-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn