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 相关文章推荐
php socket方式提交的post详解
Jul 19 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 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
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python正则表达式介绍
2012/08/06 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python登录系统界面实现详解
2019/06/25 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Python3 合并二叉树的实现
2019/09/30 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
树莓派升级python的具体步骤
2020/07/05 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
植物选择:Botanic Choice
2017/02/15 全球购物
Java servlet面试题
2012/03/04 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
企业读书活动总结
2014/06/30 职场文书
自查自纠整改报告
2014/11/06 职场文书