回答
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