Sortowanie tablic z użyciem wyrażeń lambda
Założenie: Nauczymy się sortować tablice w PHP za pomocą wyrażeń lambda, aby uporządkować listę punktów według ich odległości od centrum.
Krok po kroku:
- Definicja tablicy punktów: Utworzymy tablicę asocjacyjną, gdzie każdy element reprezentuje punkt o współrzędnych x i y.
- Funkcja obliczająca odległość: Zdefiniujemy funkcję anonimową (lambda) obliczającą odległość euklidesową punktu od centrum (0,0).
- Sortowanie tablicy: Użyjemy funkcji `usort` z naszą funkcją lambda do posortowania tablicy `$punkty` według odległości od centrum.
- Wyświetlenie posortowanej tablicy: Wyświetlimy posortowaną tablicę, aby zobaczyć efekt.
$punkty = [
['x' => 1, 'y' => 2],
['x' => 4, 'y' => 6],
['x' => 0, 'y' => 0],
['x' => 3, 'y' => 1]
];
$obliczOdleglosc = fn($punkt) => sqrt($punkt['x']**2 + $punkt['y']**2);
usort($punkty, fn($a, $b) => $obliczOdleglosc($a) <=> $obliczOdleglosc($b));
print_r($punkty);
Powyższy przykład pokazuje, jak prosto i elegancko sortować tablice w PHP za pomocą wyrażeń lambda. Operator `<=>` zwraca -1, 0 lub 1 w zależności od porównania, co upraszcza sortowanie. Zachęcamy do eksperymentowania z różnymi funkcjami lambda i sortowania tablic według innych kryteriów!