array_find_key

funkcja

Zwraca klucz pierwszego elementu tablicy, dla którego callback zwraca true. Zwraca null, jeśli żaden nie pasuje.

array_find_key(array $array, callable $callback): int|string|null

array_find_key (PHP 8.4+) przechodzi przez elementy $array i zwraca klucz pierwszego, dla którego $callback zwraca true. Jeśli żaden element nie spełnia warunku, funkcja zwraca null. Przeszukiwanie zatrzymuje się po pierwszym trafieniu.

Różni się od array_find tym, że zwraca klucz (indeks), a nie wartość. Przydaje się, gdy chcesz potem modyfikować tablicę pod tym kluczem lub sprawdzić pozycję elementu. Razem array_find i array_find_key zastępują klasyczną kombinację array_search + ręczna iteracja. Callback otrzymuje klucz jako drugi argument, co pozwala budować warunki uwzględniające zarówno wartość, jak i klucz: fn($value, $key) => ....

<?php
declare(strict_types=1);

$liczby = [10, 20, 30, 40, 50];
$klucz = array_find_key($liczby, fn($n) => $n > 25);
var_dump($klucz);
// wynik:
// int(2)

// Tablica asocjacyjna:
$stany = ['a' => 1, 'b' => 2, 'c' => 3];
$k = array_find_key($stany, fn($v) => $v > 1);
var_dump($k);
// wynik:
// string(1) "b"

// Brak pasującego elementu — zwraca null:
$brak = array_find_key([1, 2, 3], fn($n) => $n > 10);
var_dump($brak);
// wynik:
// NULL
📘 Naucz się w lekcji →