欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php 判断两个数组是否相等 有大用

使用php内置函数array_diff()

该函数的第一个参数是一个比较数组,第二个和后面的参数数组,都会和第一个数组进行比较。返回差集。所以我们可以通过这个函数判断两个数组是否相等。

当两个数组相等时,返回一个空数组。否则返回差集。


有两个数组

 

 

$a = array('aaa','bbb','ddd','aaa');

$b = array('aaa','ddd','aaa','bbb');


如何比较这两个数组是否相等,前提是不能使用sort()之类的内置函数进行排序。

如果一定要使用内置函数,哪一个排序函数速度最快???

 

 

 

++++++++++++++++++++++++++++++++++++++++++++++

 

 

$a = array('aaa','bbb','ddd','aaa');
$b = array('aaa','ddd','aaa','bbb');

$c = array_diff($a$b);

print_r($c);//输出array()

 



$a = array('aaa1','bbb','ddd','aaa');
$b = array('aaa','ddd','aaa','bbb');

$c = array_diff($a$b);

print_r($c);//输出array('aaa1')
 

 

 

 

++++++++++++++++++++++++++++++++++++++++++++++

 

 

至于两个数组相同,不清楚怎么说的,是键值相同,还是键值与键名都相同?
如果单纯地比较键值,用1楼的就行了。。

 

 

 

++++++++++++++++++++++++++++++++++++++++++++++

 

 


array_diff 可行,如果返回的是空数组即说明,2个数组相同!

来自 https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/28/2228160.html



php 判断两个数组是否相等

摘自:https://www.cnblogs.com/cuculus/p/9293519.html

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

那像 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"
}
复制代码
复制代码
分类: php

来自 https://www.cnblogs.com/cjjjj/p/12652399.html


普通分类: