Heim > Artikel > Backend-Entwicklung > Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an
Die Funktion array_unique() von PHP wird verwendet, um doppelte Elemente aus einem Array zu entfernen. Sie verwendet standardmäßig strikte Gleichheit (===). Wir können die Basis für die Deduplizierung über eine benutzerdefinierte Vergleichsfunktion festlegen: Erstellen Sie eine benutzerdefinierte Vergleichsfunktion und geben Sie den Deduplizierungsstandard an (z. B. basierend auf der Elementlänge). Übergeben Sie die benutzerdefinierte Vergleichsfunktion als dritten Parameter an die Funktion „Array_unique()“. Duplikate von Elementen basierend auf angegebenen Kriterien.
Verwenden Sie die PHP-Funktion array_unique(), um die Basis für die Deduplizierung anzugeben
Einführung
_unique()
Die Funktion wird verwendet, um doppelte Elemente aus einem Array zu entfernen. Standardmäßig wird strikte Gleichheit (===
) verwendet, um doppelte Elemente zu ermitteln. Wir können jedoch doppelte Elemente basierend auf unterschiedlichen Kriterien entfernen, indem wir eine benutzerdefinierte Vergleichsfunktion bereitstellen, um die Grundlage für die Deduplizierung festzulegen. _unique()
函数用于从一个数组中去除重复元素。默认情况下,它使用严格相等 (===
) 来判定重复元素。但是,我们可以通过提供一个自定比较函数来指定去重依据,从而根据不同的标准去除重复元素。
代码示例
<?php // 创建一个包含重复元素的数组 $arr = array( 'a', 'b', 'c', 'd', 'a', 'c', 'e', 'f' ); // 使用默认的严格相等比较器去除重复元素 print_r(array_unique($arr)); // 自定比较器,根据元素长度去除重复元素 $length_comparator = function($a, $b) { return strlen($a) == strlen($b); }; // 使用自定比较器去除重复元素 print_r(array_unique($arr, SORT_REGULAR, $length_comparator)); ?>
输出结果
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f ) Array ( [0] => a [1] => b [2] => c [4] => d [6] => e )
实战案例
假设我们有一个学生对象的数组,每个对象都有一个名字和年龄。我们可以使用 _unique()
Codebeispiel
<?php class Student { public $name; public $age; } // 创建一个包含具有相同年龄的学生对象的数组 $students = array( new Student('Alice', 20), new Student('Bob', 20), new Student('Carol', 21), new Student('Dave', 21), ); // 自定比较器,根据学生的年龄去除重复元素 $age_comparator = function($a, $b) { return $a->age == $b->age; }; // 使用自定比较器去除重复元素 $unique_students = array_unique($students, SORT_REGULAR, $age_comparator); // 打印唯一学生的姓名 foreach ($unique_students as $student) { echo $student->name . '<br>'; } ?>🎜Ausgabeergebnisse🎜🎜
Alice Carol🎜🎜Praktischer Fall🎜🎜🎜Angenommen, wir haben eine Reihe von Schülerobjekten, jedes Objekt hat einen Namen und ein Alter. Wir können die Funktion
_unique()
und einen benutzerdefinierten Komparator verwenden, um Schüler gleichen Alters zu entfernen: 🎜rrreee🎜🎜Ausgabeergebnis🎜🎜rrreeeDas obige ist der detaillierte Inhalt vonGeben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!