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
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 PHP
PHP加密技术的简单实现
Sep 04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
解析laravel使用workerman用户交互、服务器交互
Apr 28 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生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python实现的检测网站挂马程序
2014/11/30 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
详解django中自定义标签和过滤器
2017/07/03 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
详解python3中的真值测试
2018/08/13 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python中关于数据类型的学习笔记
2020/07/19 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
业务部门经理岗位职责
2014/02/23 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
培训专员岗位职责
2014/02/26 职场文书
董事长秘书工作职责
2014/06/10 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
合作合同协议书
2016/03/21 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python