Wyszukiwanie wartości w tablicach zagnieżdżonych z użyciem wyrażeń lambda (wyszukiwanie funkcyjne)
Założenie: Znaleźć element w tablicy zagnieżdżonej spełniający określony warunek, używając wyrażeń lambda.
Krok po kroku:
- Przygotowanie danych: Definiujemy tablicę zagnieżdżoną.
- Wyszukiwanie z użyciem funkcji `array_filter` i wyrażenia lambda: Szukamy użytkownika starszego niż 30 lat.
- Wyświetlenie wyników: Wyświetlamy znalezione elementy.
- Bardziej złożone wyszukiwanie: Szukamy użytkownika o imieniu ‘Piotr’ mieszkającego w Krakowie.
$users = [
['id' => 1, 'name' => 'Jan', 'age' => 30],
['id' => 2, 'name' => 'Anna', 'age' => 25],
['id' => 3, 'name' => 'Piotr', 'age' => 35, 'city' => 'Kraków'],
['id' => 4, 'name' => 'Maria', 'age' => 28, 'city' => 'Warszawa']
];
$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 nową tablicą zawierającą tylko użytkowników spełniających warunek.
print_r($olderThan30);
$piotrFromKrakow = array_filter($users, function ($user) {
return $user['name'] === 'Piotr' && isset($user['city']) && $user['city'] === 'Kraków';
});
print_r($piotrFromKrakow);
To pokazuje, jak wyrażenia lambda pozwalają na definiowanie złożonych warunków wyszukiwania.
Ten przykład pokazuje podstawy wyszukiwania w tablicach zagnieżdżonych z użyciem wyrażeń lambda w PHP. Zachęcamy do eksperymentowania z różnymi warunkami i funkcjami, aby lepiej zrozumieć możliwości tego podejścia.