2013-11-22 73 views
2

我有兩個具有相同鍵的數組。我想檢查數組a對數組b,並返回不在b中的數組的整行。我搞亂了他們所有人,並且無法獲得理想的結果。 我的數組是這樣的:array_diff/array_diff_assoc/array_diff_key不知道在這種情況下使用什麼

//array a 
Array 
(
[0] => Array 
    (
     [pid] => 457633 
     [name] => Test 
     [descr] => sample 
     [creator] => 
     [datetime] => 
    ) 

) 
//array b 
Array 
    (
    [0] => Array 
    (
     [pid] => 1234 
     [name] => server 
     [descr] => server 
     [creator] => server 
     [datetime] => server 
    ) 

[1] => Array 
    (
     [pid] => 12343 
     [name] => serv3er 
     [descr] => ser3ver 
     [creator] => se3rver 
     [datetime] => serve3r 
    ) 

) 

這是當我和array_diff_assoc的結果(B,A)

Array 
(
[1] => Array 
    (
     [pid] => 12343 
     [name] => serv3er 
     [descr] => ser3ver 
     [creator] => se3rver 
     [datetime] => serve3r 
    ) 

但是當我比較a到b是空白。

我甚至想走得更遠僅對比陣列(在這種情況下PID)的第一個值,如果它不同時返回行

回答

1

退房這裏的第二個答案:array_diff() with multidimensional arrays。 (只是你沒有嘗試過的唯一變體;-))

使用array_udiff(http://us2.php.net/array_udiff)似乎是最好的解決方案。

+0

完美!就像我描述的那樣工作。謝謝 –

+0

不客氣,我用適當的鏈接更新了我的答案,不是你需要它; o) –

相關問題