Я пытаюсь реализовать рекурсивный 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
)
)
Я проверил обе функции, упомянутые здесь: рекурсивный array_diff ()?
Я вызываю функции через:
$diff = arrayRecursiveDiff($array1, $array2);
$diff = array_diff_recursive($array1, $array2);
Я всегда получаю пустой массив обратно. В первом массиве удален один элемент, поэтому я ожидаю результата, который покажет, что один элемент отсутствует (может быть, элемент массива с пустым содержимым?).
Если я изменю массивы в вызове функции:
$diff = arrayRecursiveDiff($array2, $array1);
$diff = array_diff_recursive($array2, $array1);
Я возьму новый [27] … но мне нужен способ, описанный выше.
Есть ли у вас какие-либо идеи? Как бы вы попытались найти способ решить эту проблему?
Задача ещё не решена.
Других решений пока нет …