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文档更新介绍
Jul 22 PHP
php图片加水印原理(超简单的实例代码)
Jan 18 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
PHP如何实现跨域
May 30 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
PHP多进程编程实例详解
Jul 19 PHP
Laravel 框架返回状态拦截代码
Oct 18 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 PHP
PHP实现页面静态化深入讲解
Mar 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python调用OpenCV实现人脸识别功能
2018/05/25 Python
基于python绘制科赫雪花
2018/06/22 Python
详解Python的三种可变参数
2019/05/08 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
Python字典实现伪切片功能
2020/10/28 Python
优秀员工获奖感言
2014/03/01 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
师范生自我鉴定
2014/03/20 职场文书
房展策划方案
2014/06/07 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python