当一个数组中包含有重复的元素时,我们需要对重复元素进行处理并输出。下列是几种处理重复元素的方法:
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输出数组中重名的元素的几种处理方法


猜你喜欢
- PHP通过调用新浪API生成t.cn格式短网址链接的方法详解 2022-12-28
- Laravel推荐使用的十个辅助函数 2023-01-14
- PHP parse_ini_file函数的应用与扩展操作示例 2022-12-01
- PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解 2023-03-17
- PHP检测一个数组有没有定义的方法步骤 2023-01-30
- 浅谈PHP封装CURL 2022-12-30
- php 运行效率总结(提示程序速度) 2023-08-10
- PHP之CI框架学习讲解 2023-06-19
- PHP文件操作实例总结【文件上传、下载、分页】 2022-11-28
- 你真的了解PHP中的引用符号(&)吗 2023-12-13