关于php:array_diff / array_diff_assoc / array_diff_key不确定在这种情况下使用什么

array_diff / array_diff_assoc / array_diff_key not sure about what to use in this situation

我有两个具有相同键的数组。我想针对数组b检查数组a并返回不在b中的a的整个数组行。我把它们都弄乱了,无法得到想要的结果。
我的数组看起来像这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//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)

时的结果

1
2
3
4
5
6
7
8
9
10
 Array
(
[1] => Array
    (
        [pid] => 12343
        [name] => serv3er
        [descr] => ser3ver
        [creator] => se3rver
        [datetime] => serve3r
    )

)

但是当我将a与b进行比较时,它为空白。

我什至只想比较数组的第一个值(在这种情况下为pid),如果两者都不返回,则返回一行


在此处查看第二个答案:带有多维数组的array_diff()。 (几乎是您尚未尝试过的唯一变体;-))

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