Как показать расхождения в ассоциированных массивах php
Ответы
Nikolai Gagarinov
30 ноября 2021
В PHP есть функция, которая сравнивает массивы и возвращает все ключи и значения, которых нет в последующих массивах. Соответственно можно сравнить два массива, сперва узнав, что было удалено, а потом, что было добавлено. Функция работает на одном уровне вложенности, поэтому для глубокого сравнения нужно использовать какую-нибудь библиотеку или написать свою реализацию.
Пример
<?php
$data1 = [
'key1' => 'value',
'key2' => 'value2',
];
$data2 = [
'key3' => 'added',
];
var_dump(array_diff_assoc($data1, $data2));
//=> array(1) {
//=> ["key2"]=>
//=> string(7) "deleted"
//=> }
var_dump(array_diff_assoc($data2, $data1));
//=> array(1) {
//=> ["key3"]=>
//=> string(5) "added"
//=> }
0
0