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 相关文章推荐
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php随机显示图片的简单示例
Feb 15 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
php模板引擎技术简单实现
Mar 15 PHP
PhpStorm terminal无法输入命令的解决方法
Oct 09 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
js实现全选和全不选
2020/07/28 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
详细解析Python中的变量的数据类型
2015/05/13 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
点球小游戏python脚本
2018/05/22 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
python如何处理程序无法打开
2020/06/16 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
几个判断型的面试题
2012/07/03 面试题
汽车驾驶求职信
2013/10/25 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书