概述
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php中,可以利用数组差集来判断两个数组是否相等。
如果两个数组的差集为空,则这两个数组中没有不同的元素,即两个数组是相等的
如果两个数组的差集不为空,则这两个数组中有不同的元素,即两个数组是不相等的
那么数组差集要怎么获取尼?可以使用array_diff_assoc()函数。
array_diff_assoc()用于比较两个(或更多个)数组的键名和键值 ,并返回差集数组。
只有数组键名和键值都相等的两个数组,才相等。
实现步骤:
1、使用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没有差集
2、判断差集数组是否为空数组
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视频教程》
以上就是php如何比较两个数组是否相等的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是文艺冰棍为你收集整理的php如何比较两个数组是否相等的全部内容,希望文章能够帮你解决php如何比较两个数组是否相等所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复