递归array_diff没有找到已删除的项目

时间:2015-09-15 09:35:18

标签: php arrays recursion diff array-difference

我尝试实现一个递归的array_diff,但是我没有找到100%的工作函数。

我有两个数组:

Array
(
    [11] => Array
        (
            [id] => 24077
            [a] => 11
        )

    [22] => Array
        (
            [id] => 24078
            [a] => 22
        )

)

Array
(
    [11] => Array
        (
            [id] => 24077
            [a] => 11
        )

    [22] => Array
        (
            [id] => 24078
            [a] => 22
        )

    [27] => Array
        (
            [id] => 24080
            [a] => 27
        )

)

我测试了这里提到的两个功能:recursive array_diff()?

我通过以下方式调用这些函数:

$diff = arrayRecursiveDiff($array1, $array2);
$diff = array_diff_recursive($array1, $array2);

我总是得到一个空数组。在第一个数组中删除了一个元素,所以我期望一个结果向我显示缺少一个元素(可能是一个内容为空的数组项?)。

如果我在函数调用中更改数组:

$diff = arrayRecursiveDiff($array2, $array1);
$diff = array_diff_recursive($array2, $array1);

我会得到新的[27] ......但我需要上述方法。

你有什么想法吗?您将如何找到解决此问题的方法?

0 个答案:

没有答案