php怎么比较两个数组是否相等
这篇“php怎么比较两个数组是否相等”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php怎么比较两个数组是否相等”文章吧。
比较方法:1、使用“array_diff_assoc($arr1,$arr2)”语句比较两个数组的键名和键值,返回一个差集数组;2、用“差集数组==[]”语句判断差集数组是否为空数组,如果是空数组,则表示进行比较的两个数组相等,反之不相等。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在php中,可以利用数组差集来判断两个数组是否相等。
如果两个数组的差集为空,则这两个数组中没有不同的元素,即两个数组是相等的
如果两个数组的差集不为空,则这两个数组中有不同的元素,即两个数组是不相等的
那么数组差集要怎么获取尼?可以使用array_diff_assoc()函数。
array_diff_assoc()用于比较两个(或更多个)数组的键名和键值 ,并返回差集数组。
只有数组键名和键值都相等的两个数组,才相等。
实现步骤:
使用array_diff_assoc()获取数组差集
<?php header("content-type:text/html;charset=utf-8");$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$arr2=array("a"=>"red","b"=>"green","c"=>"blue");$arr3=array("a"=>"red","b"=>"green","c"=>"blue");$diff1=array_diff_assoc($arr1,$arr2);var_dump($diff1);$diff2=array_diff_assoc($arr2,$arr3);var_dump($diff2);?>
通过输出可以看出,$arr1和$arr2有差集,而$arr2和$arr3没有差集
判断差集数组是否为空数组
if($diff1==[]){echo "两数组相等<br>";}else{echo "两数组不相等<br>";}
因为$arr1和$arr2的差集数组不为空数组,因此不相等
if($diff2==[]){echo "两数组相等<br>";}else{echo "两数组不相等<br>";}
因为$arr2和$arr3为空数组,因此相等。
扩展:将代码封装一下:
<?php header("content-type:text/html;charset=utf-8");function f($arr1,$arr2){$diff1=array_diff_assoc($arr1,$arr2);if($diff1==[]){echo "两数组相等<br>";}else{echo "两数组不相等<br>";}}$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$arr2=array("a"=>"red","b"=>"green","c"=>"blue");$arr3=array("a"=>"red","b"=>"green","c"=>"blue");f($arr1,$arr2);f($arr2,$arr3);?>
以上就是关于“php怎么比较两个数组是否相等”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341