在考虑重复值的同时比较两个数组 [英] To compare two arrays while considering duplicate value
本文介绍了在考虑重复值的同时比较两个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个数组
$array1 = array(1, 2, 2, 3);
$array2 = array( 1, 2, 3,4);
什么时候做的:
var_dump(array_diff($array1, $array2));
获取:
array(0){}
作为输出,但我正在寻找:
as output , but i am looking for :
array(1){[2]=>2}
有人可以让我知道怎么做吗
can someone please let me know how to do it
预先感谢
推荐答案
尝试一下
$array1 = array(1, 2, 2, 3, 4, 5, 5, 7);
$array2 = array(1, 2, 4, 6, 3, 3, 5);
$diff = array_filter($array1,
function ($val) use (&$array2) {
$key = array_search($val, $array2);
if ( $key === false ) return true;
unset($array2[$key]);
return false;
}
);
print_r($diff);
// Array ( [2] => 2 [6] => 5 [7] => 7 )
这篇关于在考虑重复值的同时比较两个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文