array_diff
Возвращает значения первого массива, которых нет в остальных.
Синтаксис
array_diff(array $array, array ...$arrays): arrayПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Массив, из которого берут значения. |
| ...$arrays | array | Массивы, с которыми сравнивают. |
Возвращаемое значение
arrayЗначения, которые есть только в первом массиве.
Примеры
Что осталось купить:
<?php
$need = ['milk', 'bread', 'tea'];
$bought = ['bread'];
echo implode(', ', array_diff($need, $bought));Результат:
milk, teaУдаление значений из списка:
<?php
echo implode(', ', array_diff([1, 2, 3, 4, 5], [2, 4]));Результат:
1, 3, 5Примечания
Ключи первого массива сохраняются. Значения сравниваются как строки: 1 и '1' считаются равными.
См. также
- array_intersect — Возвращает значения, которые есть во всех массивах.
- array_unique — Удаляет из массива повторяющиеся значения.
Вопросы и ответы по теме
В учебнике
- Функции для массивов — Обработка массивов в PHP без циклов — array_map, array_filter, array_reduce, поиск и срезы.