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制作的意见反馈表源码
Mar 11 PHP
一些php技巧与注意事项分析
Feb 03 PHP
PHP排序算法的复习和总结
Feb 15 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
html静态页面调用php文件的方法
Nov 13 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP微信开发之有道翻译
Jun 23 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
浅谈Python的异常处理
2016/06/19 Python
python数据处理实战(必看篇)
2017/06/11 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python中time库的实例使用方法
2019/10/31 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
python字符串下标与切片及使用方法
2020/02/13 Python
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
.net笔试题
2014/03/03 面试题
个人自我鉴定总结
2014/03/25 职场文书
市场营销专业自荐书
2014/06/10 职场文书
个人求职意向书
2015/05/11 职场文书
goland 清除所有的默认设置操作
2021/04/28 Golang
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python