array_diff_assoc
Возвращает элементы первого массива, которых нет в других, сравнивая и ключи, и значения.
Синтаксис
array_diff_assoc(array $array, array ...$arrays): arrayПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Исходный массив. |
| ...$arrays | array | Массивы для сравнения. |
Возвращаемое значение
arrayМассив отличающихся пар «ключ — значение».
Примеры
Какие поля изменились:
<?php
$before = ['name' => 'Anna', 'city' => 'Paris', 'age' => 30];
$after = ['name' => 'Anna', 'city' => 'Berlin', 'age' => 30];
echo json_encode(array_diff_assoc($after, $before));Результат:
{"city":"Berlin"}Примечания
array_diff() сравнивает только значения и не заметит, что значение переехало под другой ключ.
См. также
- array_diff — Возвращает значения первого массива, которых нет в остальных.
- array_diff_key — Возвращает элементы первого массива, ключей которых нет в остальных.
- array_intersect — Возвращает значения, которые есть во всех массивах.
Вопросы и ответы по теме
В учебнике
- Функции для массивов — Обработка массивов в PHP без циклов — array_map, array_filter, array_reduce, поиск и срезы.