Поиск значения в массиве PHP: простые способы с примерами

Категория:

Когда работаешь с массивами, часто нужно понять — есть ли в них нужное значение.
В 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() — если возможны повторения. Эти функции экономят время и делают код чище.