Sortowanie tablic z użyciem funkcji porównującej (usort)

Założenie: Nauczymy się sortować tablicę asocjacyjną zawierającą dane o osobach, według ich wieku, używając funkcji `usort` i własnej funkcji porównującej.

Krok po kroku:

  1. Tworzenie tablicy z danymi: Zdefiniujmy tablicę asocjacyjną przechowującą imiona i wiek osób.
  2. 
    $osoby = [
        ['imie' => 'Jan', 'wiek' => 30],
        ['imie' => 'Anna', 'wiek' => 25],
        ['imie' => 'Piotr', 'wiek' => 35],
        ['imie' => 'Maria', 'wiek' => 28]
    ];
    				
  3. Tworzenie funkcji porównującej: Napiszmy funkcję, która będzie porównywała wiek dwóch osób. Funkcja ta musi zwrócić:
    • Wartość ujemną, jeśli pierwsza osoba jest młodsza.
    • Zero, jeśli osoby mają ten sam wiek.
    • Wartość dodatnią, jeśli pierwsza osoba jest starsza.
  4. 
    function porownajWiek($a, $b) {
        return $a['wiek'] - $b['wiek'];
    }
    				
  5. Sortowanie tablicy: Użyjmy funkcji `usort` do posortowania tablicy `$osoby` za pomocą zdefiniowanej funkcji `porownajWiek`.
  6. 
    usort($osoby, 'porownajWiek');
    				
  7. Wyświetlanie posortowanej tablicy: Wyświetlmy posortowaną tablicę, aby zobaczyć efekt.
  8. 
    print_r($osoby);
    				

Powyższy kod posortuje tablicę `$osoby` rosnąco, według wieku. Wynik `print_r($osoby)` pokaże posortowaną listę.

Ten przykład pokazuje podstawowe zastosowanie funkcji `usort` w PHP. Zachęcamy do eksperymentowania z różnymi funkcjami porównującymi, aby sortować tablice według różnych kryteriów!

Dodaj komentarz 0

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