`filter()` usuwa niespodziewane elementy

0

Cześć, mógłby mi ktoś powiedzieć dlaczego ten skrypt jeśli $key jest 0 zwraca NULL?

$collection = collect(config('testArrray'));
        return key($collection->filter(function ($value, $key) use ($id) {
            if (strtolower($value) == urldecode($id)) {
                return $key;
            }
        })->all());
4

Metoda filter() powinna zwracać true / false (por. https://laravel.com/docs/7.x/collections#method-filter) - Twoja zwraca $key, które jest następnie automatycznie rzutowane na bool, stąd 0 jest rzutowane na false i element jest usuwany z tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1