Maison > Article > développement back-end > Spécifiez la base de suppression des éléments en double lors de la déduplication des tableaux PHP
La fonction array_unique() de PHP est utilisée pour supprimer les éléments en double d'un tableau. Elle utilise l'égalité stricte (===) par défaut. Nous pouvons spécifier la base de la déduplication via une fonction de comparaison personnalisée : créez une fonction de comparaison personnalisée et spécifiez la norme de déduplication (par exemple, en fonction de la longueur de l'élément) ; transmettez la fonction de comparaison personnalisée comme troisième paramètre à la fonction array_unique(). dupliquer des éléments en fonction de critères spécifiés.
Utilisez la fonction PHP array_unique() pour spécifier la base de la déduplication
Introduction
_unique()
La fonction est utilisée pour supprimer les éléments en double d'un tableau. Par défaut, il utilise l'égalité stricte (===
) pour déterminer les éléments en double. Cependant, nous pouvons supprimer les éléments en double en fonction de différents critères en fournissant une fonction de comparaison personnalisée pour spécifier la base de la déduplication. _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()
Exemple de code
<?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>'; } ?>🎜Résultats de sortie🎜🎜
Alice Carol🎜🎜Cas pratique🎜🎜🎜Supposons que nous ayons un tableau d'objets étudiants, chaque objet a un nom et un âge. Nous pouvons utiliser la fonction
_unique()
et un comparateur personnalisé pour supprimer les étudiants du même âge : 🎜rrreee🎜🎜Résultat de sortie🎜🎜rrreeeCe 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!