【问题标题】:How to check if two arrays are the same? [duplicate]如何检查两个数组是否相同? [复制]
【发布时间】:2017-09-09 21:57:24
【问题描述】:

我想检查两个数组是否相同。通常每个人都会使用这样的东西:

if($arrayA == $arrayB){
   //do something...
}

但我的问题是,如何检查数组是否包含相同的值?

例如,数组 A 如下所示:

array(2) {
  [0]=>
  array(6) {
    ["price"]=>
    string(5) "50"
    ["shop"]=>
    string(4) "9509"
  }
  [1]=>
    array(6) {
    ["price"]=>
    string(5) "5"
    ["shop"]=>
    string(4) "9509"
  }
}

和数组 B 看起来像:

array(2) {
  [0]=>
  array(6) {
    ["price"]=>
    string(5) "5"
    ["shop"]=>
    string(4) "9509"
  }
  [1]=>
    array(6) {
    ["price"]=>
    string(5) "50"
    ["shop"]=>
    string(4) "9509"
  }
}

如您所见,只有内部数组已交换(5 和 50)。但我想变得真实。我只想知道两个数组是否包含相同的信息。不,如果它们完全相同!

我该如何检查?

您好,谢谢!

【问题讨论】:

标签: php arrays multidimensional-array associative-array


【解决方案1】:

听起来您的数组内部包含不同类型的数据,这不是推荐的实现方式。

我的朋友的建议是创建一个包含您需要的所有属性的对象,然后您可以覆盖方法compare 扩展接口comparable

如果您仍想比较数组,请尝试Arrays.equals(arr1, arr2),但它们不能是通用的

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 1970-01-01
    • 2011-03-08
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多