array_find
Возвращает первый элемент, для которого функция вернула true.
Синтаксис
array_find(array $array, callable $callback): mixedПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Исходный массив. |
| $callback | callable | Функция-проверка: получает значение и ключ. |
Возвращаемое значение
mixedНайденный элемент или `null`.
Примеры
Первый подходящий элемент:
<?php
$users = [['name' => 'Anna', 'age' => 17], ['name' => 'Oleg', 'age' => 31]];
echo array_find($users, fn ($user) => $user['age'] >= 18)['name'];Результат:
OlegПарные функции array_any() и array_all():
<?php
$numbers = [3, -1, 5];
var_dump(array_any($numbers, fn ($n) => $n < 0));
var_dump(array_all($numbers, fn ($n) => $n > 0));Результат:
bool(true)
bool(false)Примечания
Функции появились в PHP 8.4. В более старых версиях первый элемент находят через array_filter() и reset() или циклом.
См. также
- array_filter — Оставляет в массиве элементы, прошедшие проверку.
- array_search — Ищет значение в массиве и возвращает его ключ.
- in_array — Проверяет, есть ли значение в массиве.
Вопросы и ответы по теме
В учебнике
- Функции для массивов — Обработка массивов в PHP без циклов — array_map, array_filter, array_reduce, поиск и срезы.