Home > Backend Development > PHP Tutorial > PHP如何判断两个数组是否相同

PHP如何判断两个数组是否相同

WBOY
Release: 2016-06-06 20:32:18
Original
5604 people have browsed it

对于数组的相同肯定有不同的标准,我这里想比较的是:
1、只对两个数组的元素的值比较
2、元素的顺序可以不同
3、可以有重复的元素
4、元素的个数必须相同
例如:

<code>$arr1 = array('a'=>'good','b'=>'great')
$arr2 = array('A'=>'good','B'=>'great')
$arr3 = array('b'=>'great','a'=>'good')
</code>
Copy after login
Copy after login

这三个数组都看作相同。
求判断的方法?

回复内容:

对于数组的相同肯定有不同的标准,我这里想比较的是:
1、只对两个数组的元素的值比较
2、元素的顺序可以不同
3、可以有重复的元素
4、元素的个数必须相同
例如:

<code>$arr1 = array('a'=>'good','b'=>'great')
$arr2 = array('A'=>'good','B'=>'great')
$arr3 = array('b'=>'great','a'=>'good')
</code>
Copy after login
Copy after login

这三个数组都看作相同。
求判断的方法?

<code>$arr1 = array('a'=>'good','b'=>'great');
$arr2 = array('A'=>'good','B'=>'great');
$arr3 = array('b'=>'great','a'=>'good');

var_dump(array_diff($arr1,$arr2));//empty
var_dump(array_diff($arr1,$arr3));//empty
var_dump(array_diff($arr2,$arr3));//empty

</code>
Copy after login

直接使用array_diff就可以了啊

<code>function isSame ($arr1,$arr2){
    foreach ($value as $key => $arr1) {
        if(isset($arr2[$key])){
            if($arr2[$key] !=  $arr1[$key]){
                 return false;
            }
        }else{
            return false;
        }
    }
    return true
}
</code>
Copy after login

大概就是这样

求差集怎么样

是要在一堆数组中找出不相同的还是说怎样。
这是要比较两个数组的:

<code>function isSame($arr1, $arr2) {
    sort($arr1);
    sort($arr2);
    return $arr1 == $arr2;
}
</code>
Copy after login

<code>var_dump( ['b' => ' b', 'a' => 'a'] == ['a' => 'a', 'b' => ' b'] ); # bool(true)
</code>
Copy after login

<code>array_diff
</code>
Copy after login
Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template