Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

array_intersect_key

Возвращает элементы первого массива, ключи которых есть в остальных.

Синтаксис

array_intersect_key(array $array, array ...$arrays): array

Параметры

ПараметрТипОписание
$arrayarrayМассив, из которого берут элементы.
...$arraysarrayМассивы, с ключами которых сравнивают.

Возвращаемое значение

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 — Возвращает элементы первого массива, ключей которых нет в остальных.

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.