Wyszukiwanie wartości w tablicach obiektów z użyciem wyrażeń lambda (wyszukiwanie funkcyjne)
Założenie: Nauczymy się wyszukiwać konkretne obiekty w tablicy obiektów w PHP za pomocą wyrażeń lambda, co jest bardziej efektywne niż tradycyjne pętle.
Krok po kroku:
- Przygotowanie danych: Zdefiniujmy tablicę obiektów reprezentujących użytkowników.
- Wyszukiwanie za pomocą funkcji `array_filter` i wyrażenia lambda: Użyjemy funkcji `array_filter` z anonimową funkcją (wyrażeniem lambda) do znalezienia użytkownika o ID równym 2.
- Wyświetlenie wyniku: Wyświetlimy znalezionego użytkownika. Ponieważ `array_filter` zwraca tablicę, użyjemy `reset()` aby uzyskać pierwszy element (w tym przypadku jedyny).
$users = [
(object) ['id' => 1, 'name' => 'Jan Kowalski'],
(object) ['id' => 2, 'name' => 'Anna Nowak'],
(object) ['id' => 3, 'name' => 'Piotr Wiśniewski'],
];
$foundUser = array_filter($users, function ($user) {
return $user->id === 2;
});
Funkcja anonimowa sprawdza, czy atrybut `id` obiektu `$user` jest równy 2. `array_filter` zwraca nową tablicę zawierającą tylko elementy spełniające warunek.
$foundUser = reset($foundUser);
echo "Znaleziony użytkownik: " . $foundUser->name;
Ten kod wyświetli: “Znaleziony użytkownik: Anna Nowak”
Ten przykład pokazuje, jak używać wyrażeń lambda w PHP do efektywnego wyszukiwania w tablicach obiektów. Zachęcamy do eksperymentowania z różnymi warunkami w funkcji anonimowej!