Как сделать поиск в php массиве по значению
5 лет назад
Человек-Молекула
Ответы
Можно использовать встроенную функцию array_search(), она возвращает ключ найденного элемента. Затем мы можем получить и сам элемент по этому ключу.
5 лет назад
Roman Ashikov
Поиск значения с помощью цикла foreach().
Если значение подразумевает не полное соответствие, а частичное, то применяют обычно цикл с проверкой на вхождение искомого значения в значениях массива:
4 года назад
Аслан Аутлев
Есть ли значение в массиве, проверяет in_array(). Ключ найденного элемента возвращает array_search():
Ловушка с нулевым ключом
array_search() может вернуть 0 — ключ первого элемента. В условии 0 равен false:
Сравнивайте строго:
Строгое сравнение типов
По умолчанию сравнение нестрогое: in_array('1', [1, 2]) вернёт true. С третьим аргументом true типы тоже сравниваются:
Все ключи с этим значением
Поиск в массиве массивов
Найти пользователя по email:
array_column() достаёт из всех элементов один столбец, array_search() ищет в нём.
Поиск по условию
В PHP 8.4 появилась array_find() — возвращает первый подходящий элемент.
Частый поиск
in_array() перебирает массив целиком. Если проверять приходится часто, сделайте значения ключами: isset($flipped['груша']) работает мгновенно.
Массивы в PHP разбирают в профессии «PHP-разработчик».
10 дней назад
Никита Вихров


.png)



