有没有做逆运算的函数array_diff()
?
我的意思是,如果我有:
array(1,2,3)
array(3,4,5)
我想那个函数返回array(3)
,或者直接返回3
。
注意:array_intersect()
不适合我。
哈维尔
有没有做逆运算的函数array_diff()
?
我的意思是,如果我有:
array(1,2,3)
array(3,4,5)
我想那个函数返回array(3)
,或者直接返回3
。
注意:array_intersect()
不适合我。
哈维尔
如果 array_intersect() doesn't fit me
是因为它返回:
Array
(
[2] => 3
)
并不是:
Array
(
[0] => 3
)
或者
3
然后您可以轻松地将数组转换为可使用array_values()的东西:
<?php
$arr1 = array(1,2,3);
$arr2 = array(3,4,5);
$new = array_values(array_intersect($arr1,$arr2));
$new = $new[0];
print_r($new); //3
?>
否则请说明您的情况。
尝试array_intersect()这将计算数组的交集
由于您不想使用array_intersect()
,请检查此低效方法:
$arr1= array(1,2,3);
$arr2= array(3,4,5);
function arr_intersect($array1, $array2)
{
$array_result=array();
$array_shared = array_diff($array1+$array2, array_diff($array1, $array2));
$count=count($array_shared);
return array_values($array_shared);
}
print_r(arr_intersect($arr1, $arr2));