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 array_merge下进行数组合并的代码
Jul 22 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
实例讲解php数据访问
May 09 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
php常用的工具开发整理
Sep 26 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隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
面试必备的求职信
2014/05/25 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
安全责任书模板
2014/07/22 职场文书
思想品德评语大全
2014/12/31 职场文书
人事专员岗位职责
2015/02/03 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
中标通知书格式
2015/04/17 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
Mysql数据库事务的脏读幻读及不可重复读详解
2022/05/30 MySQL