如何检查两个数组是否包含相同的值?
问题描述:
I have two arrays and I have to compare them against each other:
$a = array('BRANCH','ADDRESS','MOBILE','NAME');
$b = array('BRANCH','ADDRESS','MOBILE','NAME');
$a == $b → true
But when the values are in a different order, this comparison doesn't work:
$a = array('BRANCH','ADDRESS','MOBILE','NAME');
$b = array('NAME','BRANCH','MOBILE','ADDRESS');
$a == $b → false
How do i compare these two arrays to see if both contain the same values, regardless of their order?
我有两个数组,我必须将它们相互比较: p>
$ a = array('BRANCH','ADDRESS','MOBILE','NAME');
$ b = array('BRANCH','ADDRESS','MOBILE','NAME');
$ a == $ b→true
code> pre>
但是当值的顺序不同时,此比较不起作用: p>
$ a = array('BRANCH','ADDRESS','MOBILE','NAME');
$ b = array('NAME','BRANCH','MOBILE' ,'地址');
$ a == $ b→false
code> pre>
如何比较这两个数组以查看两者是否包含相同的值 ,不管他们的订单如何? p>
div>
答
I would do array_diff() which check difference between two arrays.
$areEqual = array_diff($a, $b) === array_diff($b, $a);
or
$areEqual = !(array_diff($a, $b) || array_diff($b, $a));
答
sort($a);
sort($b);
if ($a==$b) {
echo "arraysAreEqual";
}