Sortowanie tablic z uwzględnieniem specyficznych potrzeb aplikacji

Założenie: Nauczymy się sortować tablicę ogłoszeń, najpierw po dacie publikacji, a następnie (w przypadku tych samych dat) po cenie.

Krok po kroku:

  1. Przygotowanie danych: Zdefiniujmy tablicę zawierającą ogłoszenia. Każde ogłoszenie będzie tablicą asocjacyjną z kluczami “data” (w formacie YYYY-MM-DD) i “cena”.
  2. 
    $ogloszenia = [
        ['data' => '2024-02-28', 'cena' => 100],
        ['data' => '2024-02-29', 'cena' => 50],
        ['data' => '2024-02-28', 'cena' => 150],
        ['data' => '2024-03-01', 'cena' => 75],
        ['data' => '2024-02-29', 'cena' => 120]
    ];
    				
  3. Sortowanie: Użyjemy funkcji `usort` do sortowania tablicy według własnej funkcji porównującej.
  4. 
    usort($ogloszenia, function($a, $b) {
        $porownanieDat = strcmp($a['data'], $b['data']);
        if ($porownanieDat !== 0) {
            return $porownanieDat; // Sortuj po dacie
        } else {
            return $a['cena'] - $b['cena']; // Sortuj po cenie, jeśli daty są takie same
        }
    });
    				
  5. Wyświetlenie wyników: Wyświetlimy posortowaną tablicę.
  6. 
    print_r($ogloszenia);
    				

Powyższy kod najpierw porównuje daty ogłoszeń. Jeśli daty są różne, zwraca wynik porównania (sortuje rosnąco). Jeśli daty są takie same, porównuje ceny i sortuje je rosnąco.

Ten przykład pokazuje, jak elastycznie sortować tablice w PHP, dostosowując funkcję porównania do specyficznych potrzeb aplikacji.

Dodaj komentarz 0

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