php中判断数组相等的方法以及数组运算符介绍


Posted in PHP onMarch 30, 2015

如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了
php手册里说明如下:

php中判断数组相等的方法以及数组运算符介绍

那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当然也可以。
若数组是数字索引的,就要注意一下了,见代码:

<?php

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

$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)

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

?>

除了==这种数组操作符之外,还有其他比较绕的方法来判断。比如说,利用array_diff($a, $b)来比较两个数组的差集,如果差集是空数组的话就相等了。
然后再说一下 数组的 + 加号运算符。+ 和 array_merge的区别在遇到相等key时,用+时,左边数组会覆盖掉右边数组的值,array_merge相反,后面的数组覆盖掉前面的。

<?php

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

$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b

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

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

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

var_dump($c);

?>

执行后输出:

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 相关文章推荐
一个程序下载的管理程序(一)
Oct 09 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
组合算法的PHP解答方法
Feb 04 PHP
浅析PHP递归函数返回值使用方法
Feb 18 PHP
关于js与php互相传值的介绍
Jun 25 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
php强制运行广告的方法
Dec 01 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
php递归实现无限分类的方法
Jul 28 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 PHP
smarty模板引擎之分配数据类型
Mar 30 #PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 #PHP
smarty模板引擎基础知识入门
Mar 30 #PHP
php array_merge函数使用需要注意的一个问题
Mar 30 #PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 #PHP
PHP实现动态柱状图改进版
Mar 30 #PHP
PHP动态柱状图实现方法
Mar 30 #PHP
You might like
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
PHP之COOKIE支持详解
2010/09/20 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js查找节点的方法小结
2015/01/13 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python访问类中docstring注释的实现方法
2015/05/04 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python实现的爬虫功能代码
2017/06/24 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python实现大文件分割与合并
2019/07/22 Python
Python timeit模块的使用实践
2020/01/13 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
中职生自荐信
2013/10/13 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
高三教师工作总结2015
2015/07/21 职场文书
健康教育主题班会
2015/08/14 职场文书
关于保护环境的建议书
2019/06/24 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript