Как показать расхождения в ассоциированных массивах php — Q&A Хекслет
2026-02-26 18:42 Diff

В 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" //=> }