Wyszukiwanie wartości w tablicy z użyciem wyrażeń lambda (wyszukiwanie funkcyjne)
Założenie: Nauczyć się wyszukiwać elementy w tablicy PHP za pomocą wyrażeń lambda, aby dynamicznie określać kryteria wyszukiwania.
Krok po kroku:
- Przygotowanie tablicy: Zdefiniujmy przykładową tablicę z danymi:
- Wyszukiwanie z użyciem funkcji `array_filter` i wyrażenia lambda: Znajdźmy osoby starsze niż 30 lat.
- Wyświetlenie wyników: Wyświetlmy znalezione osoby:
- Bardziej złożone kryterium: Znajdźmy osoby o imieniu zaczynającym się na literę “A”.
$users = [
['name' => 'Jan', 'age' => 30],
['name' => 'Anna', 'age' => 25],
['name' => 'Piotr', 'age' => 35],
['name' => 'Maria', 'age' => 28]
];
Tworzymy tablicę asocjacyjną, gdzie każdy element to tablica z kluczami ‘name’ i ‘age’.
$olderThan30 = array_filter($users, function ($user) {
return $user['age'] > 30;
});
Funkcja `array_filter` przechodzi przez tablicę `$users`. Wyrażenie lambda `function ($user) { return $user[‘age’] > 30; }` zwraca `true`, jeśli wiek użytkownika jest większy niż 30, w przeciwnym wypadku `false`. Wynik jest zapisywany w zmiennej `$olderThan30`.
print_r($olderThan30);
Funkcja `print_r` wyświetla zawartość tablicy `$olderThan30` w czytelny sposób.
$startsA = array_filter($users, fn($user) => str_starts_with($user['name'], 'A'));
print_r($startsA);
Tutaj używamy wyrażenia lambda w skróconej formie (arrow function) i funkcji `str_starts_with` do sprawdzenia, czy imię zaczyna się od “A”.
Ten przykład pokazuje podstawy wyszukiwania w tablicach PHP z użyciem wyrażeń lambda. Zachęcamy do eksperymentowania z różnymi kryteriami wyszukiwania!