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:

  1. Definicja tablicy punktów: Utworzymy tablicę asocjacyjną, gdzie każdy element reprezentuje punkt o współrzędnych x i y.
  2. 
    $punkty = [
        ['x' => 1, 'y' => 2],
        ['x' => 4, 'y' => 6],
        ['x' => 0, 'y' => 0],
        ['x' => 3, 'y' => 1]
    ];
    				
  3. Funkcja obliczająca odległość: Zdefiniujemy funkcję anonimową (lambda) obliczającą odległość euklidesową punktu od centrum (0,0).
  4. 
    $obliczOdleglosc = fn($punkt) => sqrt($punkt['x']**2 + $punkt['y']**2);
    				
  5. Sortowanie tablicy: Użyjemy funkcji `usort` z naszą funkcją lambda do posortowania tablicy `$punkty` według odległości od centrum.
  6. 
    usort($punkty, fn($a, $b) => $obliczOdleglosc($a) <=> $obliczOdleglosc($b));
    				
  7. Wyświetlenie posortowanej tablicy: Wyświetlimy posortowaną tablicę, aby zobaczyć efekt.
  8. 
    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!

Dodaj komentarz 0

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