array_intersect_key
Возвращает элементы первого массива, ключи которых есть в остальных.
Синтаксис
array_intersect_key(array $array, array ...$arrays): arrayПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Массив, из которого берут элементы. |
| ...$arrays | array | Массивы, с ключами которых сравнивают. |
Возвращаемое значение
arrayЭлементы с общими ключами.
Примеры
Оставить только разрешённые поля формы:
<?php
$input = ['name' => 'Anna', 'email' => 'a@example.com', 'is_admin' => 1];
$allowed = array_flip(['name', 'email']);
echo json_encode(array_intersect_key($input, $allowed));Результат:
{"name":"Anna","email":"a@example.com"}Примечания
Так защищаются от лишних полей в запросе: посетитель не сможет подсунуть поле, которого нет в списке.
См. также
- array_intersect — Возвращает значения, которые есть во всех массивах.
- array_diff_key — Возвращает элементы первого массива, ключей которых нет в остальных.
В учебнике
- Функции для массивов — Обработка массивов в PHP без циклов — array_map, array_filter, array_reduce, поиск и срезы.