2013-01-16 57 views
-2

這裏是數組。PHP array_diff輸出 - 不清楚

Array1 
(
[439] => dsaffsdfdfdfsffdsf 
[379] => 3454 
[375] => 3 ///why is it removed in the resulting array? 
[436] => Fdsafdfsdf 
[432] => 3 /// this one too 
[431] => 2 
[385] => 499 
[434] => 3501 
[435] => 2013-01-16 
[430] => 1 
[440] => fsdzsdaffdsfffdsf 
[406] => YES 
[438] => 32442344324324234 
[376] => 3 
) 

Array2 
(
[376] => 3 
[385] => 499 
) 

array_diff(array1, array2) 

result 
(
[439] => dsaffsdfdfdfsffdsf 
[379] => 3454 
[436] => Fdsafdfsdf 
[431] => 2 
[434] => 3501 
[435] => 2013-01-16 
[430] => 1 
[440] => fsdzsdaffdsfffdsf 
[406] => YES 
[438] => 32442344324324234 
) 

看起來很奇怪。任何想法?它根據價值去除?

我只想Array2元素從Array1

+4

RTFM :)'array_diff' - 返回一個數組,其中包含array1中所有其他數組中不存在的條目的數組。 – Peter

+1

這是基於價值去除,**和文件說明如此**。甚至有一個例子顯示了這種行爲。也許你正在尋找['array_diff_assoc'](http://php.net/manual/en/function.array-diff-assoc.php)。 – Jon

+0

嗯..我不這麼認爲。我會嘗試關聯的。謝謝! –

回答

0

手動刪除是你最好的朋友:

  • array_diff()比較陣列1對數組2和收益之差。
  • array_diff_assoc()比較array1和array2並返回差異。與array_diff()不同,數組鍵也用於比較。
  • array_diff_key()比較array1中的鍵和array2中的鍵並返回差異。這個函數就像array_diff(),除了在鍵上而不是數值上進行比較外。