回答
sort($a);
sort($b);
if ($a==$b) {//equal}
排序功能有排序数据的副作用,所以如果你想保留原来的订单,你需要将它复制到$ a和$ b中,然后再使用它。 – Ray
$array1 = array(2,5,3);
$array2 = array(5,2,3);
$result = array_diff($array1, $array2);
if(empty($result))
{
echo "Both arrays are equal.";
}
else
{
echo "Both arrays are different.";
}
这是不正确的。 您的代码示例将失败 $ array1 = array(2,5,3,3); $ array2 = array(5,2,3); array_diff检查哪些值在两个数组中,它并不关心它们在那里的频率。 –
@Matthias Huttar这是正确的..不幸的是,我不得不去努力发现.. – Ionut
此外,'array_diff'“比较array1与一个或多个其他数组,并返回array1中不存在的任何其他阵列“。因此,例如,如果'$ array2'具有比'$ array1'更明显的值,则此答案中的代码会错误地将这些数组报告为相等。这是@SureshKamrushi在这个问题的评论中提到的一点。 – faintsignal
这是一个有点迟到了,但希望这将是有用的:
如果你确信阵列都只有包含字符串或两者仅包含整数,然后array_count_values($a) == array_count_values($b)
有更好的时间复杂性但是,user1844933的答案更一般。
如果整数碰撞(意味着第一个值为-1,第二个值为+1),则这将失败,计算出的值将与这两个数组相等,但它们是不同的数组。 – kindaian
如果你不想数组排序,而只是希望不管值为了使用http://php.net/manual/en/function.array-intersect.php的检查平等,像这样:
$array1 = array(2,5,3);
$array2 = array(5,2,3);
if($array1 === array_intersect($array1, $array2) && $array2 === array_intersect($array2, $array1)) {
echo 'Equal';
} else {
echo 'Not equal';
}
此解决方案不考虑重复项目。例如:[2,5,3]和[5,2,3,3]根据上述逻辑将是相等的。 – Rao
hello sir,if $ array1 = array(2,5,3,1,9,8); $ array2 = array(5,2,3);那么它是如何使用的? –
莅临这个聚会迟到。我有同样的问题,但不想排序,这是我知道会工作的直接答案。我想出了这个简单的一行这仅适用于唯一值的数组:
$same = (count($a) == count($b) && !array_diff($a, $b))
这也是有关的比排序选项5快的一个因素。这不是说要么特别慢,所以我会说它更多的是关于你的个人喜好,你认为哪一个更清楚。我个人宁愿不排序。
编辑:谢谢雷指出,这只适用于具有唯一值的数组。
- 1. 检查数组的列表是否具有相同的值
- 2. MySQL - 检查是否存在具有相同ID的数组值
- 3. 如何检查数组是否具有相同的值?
- 4. 检查两个以上的数组是否具有相同的数据
- 5. 检查两个数组是否具有相同顺序的元素
- 6. 如何检查两个索引数组是否具有相同的值,即使PHP中的顺序不相同?
- 7. 检查一个数组是否具有不同于零的值
- 8. 如何检查两个PictureBox是否具有相同的图像?
- 9. 如何检查两个JButton是否具有相同的ImageIcon?
- 10. 检查一个数组中的两个项是否相同
- 11. 检查具有相同ID的输入文本是否具有相同的值
- 12. 检查两个查询是否相同
- 13. 检查两个数组具有相同名称的
- 14. 检查数组中的所有元素是否具有相同的值Swift
- 15. 检查两个数组的值是否相等并且顺序相同
- 16. 检查数据库是否具有相同的值
- 17. 检查两个哈希是否具有相同的一组密钥
- 18. 检查两个字段在文档中是否具有相同的值
- 19. 如何使用jquery检查两个属性是否具有相同的值?
- 20. 如何使用msql检查两个字段是否具有相同的值?
- 21. 检查两个数组的值是否相等
- 22. 检查两个数组是否包含相似的值
- 23. 检查两个列表中的相同位置是否有相同的值
- 24. 检查数组中的所有值是否相同
- 25. 如何检查数组中的所有值是否相同?
- 26. 检查数组中的所有值是否相同
- 27. 检查2个数据表是否具有相同的模式
- 28. Swift:检查两个NSDates是否相同
- 29. 检查两个json是否相同
- 30. 检查两个ID是否相同
排序和检查... – user1844933
array_diff()是不完美的。排序和比较最好的。 –
@SureshKamrushi为什么? – jeroen