Sortowanie tablic z różnymi flagami (SORT_NUMERIC, SORT_STRING)

Założenie: Nauczyć się sortować tablice w PHP z wykorzystaniem flag SORT_NUMERIC i SORT_STRING, aby zrozumieć, jak sortowanie działa dla różnych typów danych.

Krok po kroku:

  1. Przygotowanie tablicy z numerami wersji: Stwórzmy tablicę zawierającą numery wersji oprogramowania, które będą zawierały zarówno liczby, jak i litery.
  2. 
    $wersje = ["1.0", "2.5", "1.10", "1.2", "2.1", "1.1"];
    				
  3. Sortowanie jako ciągi znaków (SORT_STRING): Użyjmy funkcji sort() z flagą SORT_STRING. Zauważ, że sortowanie leksykograficzne nie uwzględnia wartości liczbowych.
  4. 
    sort($wersje, SORT_STRING);
    print_r($wersje);
    				

    Wynik pokaże, że “1.10” jest przed “1.2”, ponieważ porównanie odbywa się znak po znaku.

  5. Sortowanie jako liczby (SORT_NUMERIC): Teraz użyjmy funkcji sort() z flagą SORT_NUMERIC. To poprawi sortowanie numerów wersji.
  6. 
    $wersje = ["1.0", "2.5", "1.10", "1.2", "2.1", "1.1"]; // Resetujemy tablicę
    sort($wersje, SORT_NUMERIC);
    print_r($wersje);
    				

    Wynik będzie już poprawnie posortowany numerycznie.

Ten przykład pokazuje, jak ważne jest wybranie odpowiedniej flagi sortowania w zależności od typu danych w tablicy. SORT_NUMERIC jest niezbędne, gdy chcemy sortować wartości liczbowe, nawet jeśli są one reprezentowane jako ciągi znaków.

Dodaj komentarz 0

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