PHP中如何精确判断两个数组是否完全相等?

2026-04-06 15:541阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计816个文字,预计阅读时间需要4分钟。

PHP中如何精确判断两个数组是否完全相等?

比较方法:1、使用array_diff_assoc($arr1, $arr2)语句比较两个数组的键名和键值,返回一个差集数组;2、使用差集数组==[]语句判断差集数组是否为空数组,如果是空数组,则表示两个数组完全相同。

比较方法:1、使用“array_diff_assoc($arr1,$arr2)”语句比较两个数组的键名和键值,返回一个差集数组;2、用“差集数组==[]”语句判断差集数组是否为空数组,如果是空数组,则表示进行比较的两个数组相等,反之不相等。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

PHP中如何精确判断两个数组是否完全相等?

在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如何比较两个数组是否相等的详细内容,更多请关注自由互联其它相关文章!



本文共计816个文字,预计阅读时间需要4分钟。

PHP中如何精确判断两个数组是否完全相等?

比较方法:1、使用array_diff_assoc($arr1, $arr2)语句比较两个数组的键名和键值,返回一个差集数组;2、使用差集数组==[]语句判断差集数组是否为空数组,如果是空数组,则表示两个数组完全相同。

比较方法:1、使用“array_diff_assoc($arr1,$arr2)”语句比较两个数组的键名和键值,返回一个差集数组;2、用“差集数组==[]”语句判断差集数组是否为空数组,如果是空数组,则表示进行比较的两个数组相等,反之不相等。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

PHP中如何精确判断两个数组是否完全相等?

在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如何比较两个数组是否相等的详细内容,更多请关注自由互联其它相关文章!