Heim  >  Artikel  >  Backend-Entwicklung  >  Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an

Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an

WBOY
WBOYOriginal
2024-04-28 22:48:02885Durchsuche

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.

PHP 数组去重时指定去除重复元素的依据

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

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

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