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作的文本留言本的例子(四)
Oct 09 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 PHP
PHP实现简单用户登录界面
Oct 23 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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的ob_start();控制您的浏览器cache!
2007/02/14 PHP
php创建无限级树型菜单
2015/11/05 PHP
php实现每日签到功能
2018/11/29 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
html5弹跳球示例代码
2013/07/23 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
商务日语毕业生自荐信
2013/11/23 职场文书
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
党课培训心得体会
2014/09/02 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
Python图像处理之图像拼接
2021/04/28 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS