Функция array_keys() принимает массив и возвращает все его ключи или только те, которые соответствуют заданному значению.

Синтаксис

  • $array - входной массив.
  • $search_value - значение, по которому осуществляется поиск ключей (необязательный параметр).
  • $strict - если установлено значение true, используется строгое сравнение (===). По умолчанию стоит false (сравнение с приведением типов ==).
Функция возвращает массив с найденными ключами.

Пример использования с индексированным массивом

Вывод:
Пояснение:
  • Определяется массив из трёх чисел.
  • С помощью array_keys() извлекаются все ключи.
  • Для индексированного массива возвращаются числовые индексы.

Поиск ключей по значению

Вывод:
Функция возвращает ключ 1, так как по этому индексу хранится значение 20.

Использование с ассоциативным массивом

Вывод:
Пояснение:
  • Определяется ассоциативный массив.
  • Извлекаются все ключи.
  • Возвращаются имена ключей.

Поиск ключей по значению в ассоциативном массиве

Вывод:
Функция находит ключ is_active, так как его значение ('1') при сравнении с числом 1 считается равным (используется нестрогое сравнение).

Строгое сравнение

Вывод:
При строгом сравнении (===) строка '1' не равна числу 1, поэтому результат пустой массив.

Поиск ключей по условию через callback

Можно реализовать собственную функцию для поиска ключей по условию:
Пример использования:
Вывод:

Итог

Функция array_keys() позволяет получать все или только определённые ключи массива, а с помощью собственной функции можно реализовать более сложные условия поиска.