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:

  1. Przygotowanie danych: Zdefiniujmy tablicę obiektów reprezentujących użytkowników.
  2. 
    $users = [
        (object) ['id' => 1, 'name' => 'Jan Kowalski'],
        (object) ['id' => 2, 'name' => 'Anna Nowak'],
        (object) ['id' => 3, 'name' => 'Piotr Wiśniewski'],
    ];
    				
  3. 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.
  4. 
    $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.

  5. Wyświetlenie wyniku: Wyświetlimy znalezionego użytkownika. Ponieważ `array_filter` zwraca tablicę, użyjemy `reset()` aby uzyskać pierwszy element (w tym przypadku jedyny).
  6. 
    $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!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *