加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 确定2个关联数组是否具有相同的内容

发布时间:2020-12-13 17:37:39 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用比较2数组的 PHP函数,如果它们相同则返回true. 例: assertArrayEquals(array('a'=1,'b'=2),array('a'=1,'b'=2)); // TrueassertArrayEquals(array('a'=1,array('b'=2,'a'=1)); // TrueassertArrayEquals(array('a'=1,array(1,2)); // falseas
我正在尝试使用比较2数组的 PHP函数,如果它们相同则返回true.

例:

assertArrayEquals(array('a'=>1,'b'=>2),array('a'=>1,'b'=>2)); // True
assertArrayEquals(array('a'=>1,array('b'=>2,'a'=>1)); // True
assertArrayEquals(array('a'=>1,array(1,2)); // false
assertArrayEquals(array(2,1),2)); // false

任何的想法 ?

编辑:
其他测试案例:

assertArrayEquals(array('a'=>1,'b'=>2,'c'=>3)); // false
assertArrayEquals(array('a'=>1,'c'=>3),'b'=>2)); // false
assertArrayEquals(array('a'=>0),array('a'=>'foo')); // false

解决方法

使用 array_diff_assoc:

<?php

var_dump(assertArrayEquals(array('a'=>1,'b'=>2))); // True
var_dump(assertArrayEquals(array('a'=>1,'a'=>1))); // True
var_dump(assertArrayEquals(array('a'=>1,2))); // false
var_dump(assertArrayEquals(array(2,2))); // false



function assertArrayEquals($a,$b){
  return count(array_diff_assoc($a,$b)) == 0 && count(array_diff_assoc($b,$a)) == 0;
}

http://codepad.org/YoZIGjBY

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读