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输出数组中重名的元素的几种处理方法 - Python技术站