PHP中如何获取多维数组内的重复值?我找到了一些功能,但它们对我不起作用。是否有一个本机功能可以做到这一点?
<?php
$array = array(array(7,18), array(12,7), array(12, 7, 13));
$result = array();
$first = $array[0];
for($i=1; $i<count($array); $i++){
$result = array_intersect ($first, $array[$i]);
$first = $result;
}
print_r($result);//7
?>
function array_icount_values($arr,$lower=true) {
$arr2=array();
if(!is_array($arr['0'])){$arr=array($arr);}
foreach($arr as $k=> $v){
foreach($v as $v2){
if($lower==true) {$v2=strtolower($v2);}
if(!isset($arr2[$v2])){
$arr2[$v2]=1;
}else{
$arr2[$v2]++;
}
}
}
return $arr2;
}
$arr = array_icount_values($arry);
echo "<pre>";
print_r($arr);
exit;
我在 Stackoverflow 上找到了这个,但没有一个对我有用。
如果你有 php5.6:
只要数组没有更多级别而无需循环,您就可以使用此组合:
该函数
array_merge
将数组的元素连接成一个数组。array_count_values
返回数组中每个值的重复次数。随着
array_diff($array,array(1))
我们发现我们的重复数组和具有单个元素的值为 1 的数组之间的区别。本质上我们删除了值为 1 的键。最后,我们用
array_keys
.写在一行上:
你可以使用php函数
in_array()
它的工作方式如下:
它的作用是检查一个值是否在数组内。
这是文档的链接:http: //php.net/manual/es/function.in-array.php