PHP 的 array_unique() 函数用于去除数组中重复元素,其缺省使用严格相等 (===)。我们可以通过自定比较函数来指定去重依据:创建自定比较函数,指定去重的标准(例如根据元
PHP 的 array_unique() 函数用于去除数组中重复元素,其缺省使用严格相等 (===)。我们可以通过自定比较函数来指定去重依据:创建自定比较函数,指定去重的标准(例如根据元素长度);将自定比较函数作为第三个参数传递给 array_unique() 函数,即可根据指定的标准去除重复元素。
使用 PHP 数组_unique() 函数指定去重依据
简介
_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()
函数和一个自定比较器来去除具有相同年龄的学生:
<?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>';
}
?>
输出结果
Alice
Carol
以上就是PHP 数组去重时指定去除重复元素的依据的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: PHP 数组去重时指定去除重复元素的依据
本文链接: https://www.lsjlt.com/news/610574.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0