我有2個數組我想比較然後收集差異。如何比較2個數組並獲得差異
我只在每個數組中顯示2個元素。通常每個陣列包含超過80000個元件
數組1輸出($Memcooltransactions
)
Array (
[0] => Array ([zipcode] => 0000 [city] => 23593 Vellinge, Sverige [numberofuniqmembers] => 11 [numberofuniqspisesteder] => 0
[1] => Array ([zipcode] => 4212 [city] => CPH, Denmark [numberofuniqmembers] => 2 [numberofuniqspisesteder] => 0)
數組1輸出($result
)
Array (
[0] => Array ([zipcode] => 0460 [city] => Nordskali, Færøerne [numberofuniqmembers] => 1 [numberofuniqspisesteder] => 0
[1] => Array ([zipcode] => 4212 [city] => CPH, Denmark [numberofuniqmembers] => 2 [numberofuniqspisesteder] => 0)
希望的輸出:
[0] => Array ([zipcode] => 0000 [city] => 23593 Vellinge, Sverige [numberofuniqmembers] => 11 [numberofuniqspisesteder] => 0
[1] => Array ([zipcode] => 0460 [city] => Nordskali, Færøerne [numberofuniqmembers] => 1 [numberofuniqspisesteder] => 0
這是如何我試過:
$result2 = array_diff_assoc($Memcooltransactions, $result1);
但我得到這樣的輸出:($result2
)
Array (
[0] => Array ([zipcode] => 0000 [city] => 23593 Vellinge, Sverige [numberofuniqmembers] => 11 [numberofuniqspisesteder] => 0
[1] => Array ([zipcode] => 4212 [city] => CPH, Denmark [numberofuniqmembers] => 2 [numberofuniqspisesteder] => 0
[2] => Array ([zipcode] => 0460 [city] => Nordskali, Færøerne [numberofuniqmembers] => 1 [numberofuniqspisesteder] => 0
)
這究竟是爲什麼?
如果數組是根據數據庫請求構建的,最好在DB查詢中處理這個問題 – 2013-03-20 13:14:45
是的,通常我也會這樣做,但是不能對其他原因進行處理。這可以通過PHP來完成嗎? – Zaz 2013-03-20 13:16:29
[迭代通過兩個數組並比較結果以顯示不匹配的結果]的可能重複(http://stackoverflow.com/questions/15413936/iterate-through-two-arrays-and-compare-results-to-display -res-do-not-ma) – jvnill 2013-03-20 15:50:29