php 判断两个数组对象是否相等_php 判断两个数组是否相等

如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了

那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当然也可以。

若数组是数字索引的,就要注意一下了,见代码:

1 <?php

2 $a = array("apple", "banana");

3 $b = array(1 => "banana", "0" => "apple");

4

5 var_dump($a == $b); // bool(true)

6 var_dump($a === $b); // bool(false)

7 ?>

除了==这种数组操作符之外,还有其他比较绕的方法来判断。比如说,利用array_diff($a, $b)来比较两个数组的差集,如果差集是空数组的话就相等了。

然后再说一下 数组的 + 加号运算符。+ 和 array_merge的区别在遇到相等key时,用+时,左边数组会覆盖掉右边数组的值,array_merge相反,后面的数组覆盖掉前面的。

1 <?php

2 $a = array("a" => "apple", "b" => "banana");

3 $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

4

5 $c = $a + $b; // Union of $a and $b

6 echo "Union of \$a and \$b: \n";

7 var_dump($c);

8

9 $c = array_merge($a, $b); // Union of $b and $a

10 echo "array_merge of \$b and \$a: \n";

11 var_dump($c);

12 ?>

执行后输出:

Union of $a and $b:

array(3) {

["a"]=>

string(5) "apple"

["b"]=>

string(6) "banana"

["c"]=>

string(6) "cherry"

}

array_merge of $b and $a:

array(3) {

["a"]=>

string(4) "pear"

["b"]=>

string(10) "strawberry"

["c"]=>

string(6) "cherry"

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值