array_find
funkcja
Zwraca wartość pierwszego elementu tablicy, dla którego callback zwraca true. Zwraca null, jeśli żaden nie pasuje.
array_find(array $array, callable $callback): mixed
array_find (PHP 8.4+) przechodzi przez elementy $array i zwraca wartość pierwszego, dla którego $callback zwraca true. Jeśli żaden element nie spełnia warunku, funkcja zwraca null. Oryginalna tablica nie jest modyfikowana i przeszukiwanie zatrzymuje się natychmiast po znalezieniu pierwszego trafienia.
To nowoczesna, czytelna alternatywa dla pętli foreach z warunkiem break. Jeśli potrzebujesz klucza zamiast wartości, użyj array_find_key. Jeśli chcesz tylko sprawdzić, czy choć jeden element pasuje, użyj array_any. Callback otrzymuje klucz jako drugi argument, co przydaje się w sprawdzeniach uwzględniających klucz: fn($value, $key) => ....
<?php
declare(strict_types=1);
$liczby = [1, 2, 3, 4, 5];
$wynik = array_find($liczby, fn($n) => $n > 2);
var_dump($wynik);
// wynik:
// int(3)
// Brak pasującego elementu — zwraca null:
$wynik2 = array_find($liczby, fn($n) => $n > 10);
var_dump($wynik2);
// wynik:
// NULL
// Przeszukiwanie tablicy asocjacyjnej:
$produkty = ['jabłko' => 0.5, 'banan' => 1.2, 'gruszka' => 0.8];
$drogi = array_find($produkty, fn($cena) => $cena > 1.0);
var_dump($drogi);
// wynik:
// float(1.2)