Когда работаешь с массивами, часто нужно понять — есть ли в них нужное значение.
В PHP для этого есть несколько удобных инструментов, и главный из них — функция in_array()
. В этой статье покажу, как искать значения в массивах, как отличать точные совпадения от неточных и что делать, если нужно получить ключ найденного элемента.
in_array() — проверка наличия значения
Функция in_array()
возвращает true
, если значение найдено, и false
, если нет.
phpКопироватьРедактировать$fruits = ["яблоко", "банан", "киви"];
if (in_array("банан", $fruits)) {
echo "Банан есть в списке.";
} else {
echo "Банана нет.";
}
Можно включить строгую проверку типа, указав третий параметр true
. Тогда '5'
и 5
будут считаться разными значениями.
phpКопироватьРедактировать$numbers = [1, 2, 3, '5'];
var_dump(in_array(5, $numbers)); // true
var_dump(in_array(5, $numbers, true)); // false
array_search() — получение ключа элемента
Если тебе нужно не просто узнать, есть ли значение, а ещё и получить его ключ, используй array_search()
:
phpКопироватьРедактировать$colors = ["red", "green", "blue"];
$key = array_search("green", $colors);
if ($key !== false) {
echo "Цвет найден по индексу $key.";
}
Если значение не найдено, array_search()
вернёт false
.
array_keys() с фильтрацией
Иногда нужно найти все ключи по определённому значению:
phpКопироватьРедактировать$data = ["a" => 1, "b" => 2, "c" => 1];
$result = array_keys($data, 1);
print_r($result); // Array ( [0] => a [1] => c )
array_keys()
в таком случае может вернуть несколько ключей.
Где использовать поиск в массиве
- Проверка данных из формы (есть ли email в списке зарегистрированных)
- Условная логика (если пользователь имеет доступ — показать раздел)
- Валидация (проверка, входит ли значение в список допустимых)
Поиск значений в массивах — одна из базовых задач при работе с PHP. Используй in_array()
для быстрой проверки, array_search()
— если нужен ключ, и array_keys()
— если возможны повторения. Эти функции экономят время и делают код чище.