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

Założenie: Nauczymy się sortować tablice asocjacyjne w PHP za pomocą funkcji uasort, używając niestandardowej funkcji porównującej, która pozwoli nam na sortowanie według określonych kryteriów, zachowując jednocześnie klucze tablicy.

Krok po kroku:

  1. Przygotowanie tablicy asocjacyjnej: Zdefiniujmy tablicę asocjacyjną reprezentującą listę zadań z priorytetami:
  2. 
    $zadania = [
        "Zadanie A" => 2,
        "Zadanie B" => 1,
        "Zadanie C" => 3,
        "Zadanie D" => 1
    ];
    				
  3. Definicja funkcji porównującej: Stwórzmy funkcję, która będzie porównywała wartości (priorytety) zadań. Funkcja ta przyjmuje dwa argumenty – wartości do porównania i zwraca:
    • -1, jeśli pierwszy element powinien być przed drugim,
    • 0, jeśli elementy są równe,
    • 1, jeśli pierwszy element powinien być po drugim.
    
    function porownajPriorytety($a, $b) {
        return $a - $b; // Sortuje od najmniejszego do największego priorytetu
    }
    				
  4. Sortowanie tablicy: Użyjmy funkcji uasort, aby posortować tablicę $zadania za pomocą zdefiniowanej funkcji porownajPriorytety:
  5. 
    uasort($zadania, "porownajPriorytety");
    				
  6. Wyświetlenie posortowanej tablicy: Wyświetlmy posortowaną tablicę, aby zobaczyć efekt:
  7. 
    print_r($zadania);
    				

Powyższy kod posortuje tablicę zadań według priorytetu, od najniższego do najwyższego. Klucze tablicy (nazwy zadań) pozostaną zachowane.

Ten przykład pokazuje podstawowe zastosowanie funkcji uasort do sortowania tablic asocjacyjnych w PHP. Zachęcamy do eksperymentowania z różnymi funkcjami porównującymi, aby osiągnąć pożądany efekt sortowania.

Dodaj komentarz 0

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