当一个数组中包含有重复的元素时,我们需要对重复元素进行处理并输出。下列是几种处理重复元素的方法:
PHP输出数组中重名的元素的几种处理方法
当一个数组中包含有重复的元素时,我们需要对重复元素进行处理并输出。下列是几种处理重复元素的方法:
方法一:循环遍历数组去除重复元素
在这个方法中,我们在遍历整个数组结束后得到新的数组,新的数组中不包含任何重复元素。
$arr = array(1, 2, 3, 1, 2, 4);
$newArr = array();
foreach ($arr as $val) {
if (!in_array($val, $newArr)) {
$newArr[] = $val;
}
}
print_r($newArr); // 输出结果为: Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 )
方法二:使用array_unique()函数去除重复元素
我们可以使用array_unique()函数,将数组中的重复元素去除。
$arr = array(1, 2, 3, 1, 2, 4);
$newArr = array_unique($arr);
print_r($newArr); // 输出结果为:Array ( [0] => 1 [1] => 2 [2] => 3 [5] => 4 )
方法三:使用array_count_values()函数统计元素出现次数
我们可以使用array_count_values()函数来统计数组中每个元素出现的次数,然后根据次数来输出重复元素。
$arr = array(1, 2, 3, 1, 2, 4);
$countArr = array_count_values($arr);
foreach ($countArr as $key => $val) {
if ($val > 1) {
echo $key . ' 重复了 ' . $val . ' 次。<br/>';
}
}
// 输出结果为: 1 重复了 2 次。 2 重复了 2 次。
方法四:使用array_keys()和array_diff()函数输出重复元素
该方法使用array_keys()函数得到数组中重复元素的键名,再使用array_diff()函数输出这些重复的元素。
$arr = array(1, 2, 3, 1, 2, 4);
$repeatKeys = array_keys(array_count_values($arr),2);
$repeatArr = array_diff($arr, array_unique($arr));
print_r($repeatArr); // 输出结果为: Array ( [0] => 1 [1] => 2 )
在上述代码中,$repeatKeys中存储了在数组$arr中出现次数为2的元素的键名数组,$repeatArr中存储了重复的元素。
通过以上几种处理方法,便可方便地输出数组中的重复元素。
沃梦达教程
本文标题为:PHP输出数组中重名的元素的几种处理方法
基础教程推荐
猜你喜欢
- PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法 2023-01-08
- php 实现银联商务H5支付的示例代码 2023-03-02
- 在Laravel5.6中使用Swoole的协程数据库查询 2022-11-01
- thinkPHP3.2.3实现阿里大于短信验证的方法 2022-10-27
- php微信开发之关注事件 2022-11-01
- php项目中类的自动加载实例讲解 2023-02-13
- PHP pthreads v3下同步处理synchronized用法示例 2023-04-02
- php5.x禁用eval的操作方法 2022-11-23
- JS中彻底删除JSON对象组成的数组中的元素 2023-05-02
- php 获取SWF动画截图示例代码 2023-08-04