【问题标题】:Compare two array and get all differences比较两个数组并获得所有差异
【发布时间】:2013-04-27 16:38:32
【问题描述】:

我有两个这样的数组。

$array1=array(1,2,3,4,5,7);
$array2=array(1,2,3,4,5,6);

所以,输出应该带来两个数组的差异。

输出应该是。

1,2,3,4,5 -> 这些数字在两个数组中都存在,所以这些应该被忽略

7 和 6 -> 这些数字在两个数组中都不常见,所以我需要数组中的这些值。

输出应该是 7 & 6。

帮帮我。我试过array_diff 和其他数组元素。

【问题讨论】:

  • 嗯,array_diff 返回一个数组。那么为什么不能使用它返回的数组呢?
  • 向我们展示一些您似乎难以完成的工作,然后人们会很乐意帮助您,因为目前您似乎希望我们完成您的作业。
  • Puciek - 我已经完成了我的功课,我已经向那些关心并回复正面答复的人提出了这个问题。甚至不要给任何___ cmets。谢谢
  • user1508519 - 谢谢。搞定了!!!
  • hjaffer:如果您在这里提问,您会发现@Puciek 所说的内容会经常被提及。一般来说,这里希望您先尝试的读者并不是粗鲁的。它只是为了教人们如何自学,并避免之前绝对没有付出任何努力的问题(又名“帮助吸血鬼”)。因此,如果您将您当前的代码尝试添加到所有问题中,您会没事的。

标签: php arrays multidimensional-array arraylist


【解决方案1】:

试试这个

array_merge(array_diff($array1,$array2),array_diff($array2,$array1))

【讨论】:

  • 我想知道 array_diff(array_merge($array1, $array2), array_intersect($array1, $array2)) 是否会更快。
【解决方案2】:
foreach($array1 as $key => $value) {
    if($value != $array2[$key]) {
        echo "\$array1[" . $key . "] (" . $value . ") is different to \$array2[" . $key . "] (" . $array2[$key] . "<br />";
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多