Funkcja strnatcasecmp() w PHP
Przykład
Porównanie dwóch ciągów znaków za pomocą algorytmu "naturalnego" (nie rozróżniającego wielkości liter):
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
Definicja i użycie
Funkcja strnatcasecmp() używa algorytmu "naturalnego" do porównywania dwóch ciągów znaków.
W algorytmie naturalnym liczba 2 jest mniejsza niż liczba 10. W sortowaniu komputerowym liczba 10 jest mniejsza niż liczba 2, ponieważ pierwszy cyfra w liczbie 10 jest mniejsza niż 2.
Komentarz:strnatcasecmp() jest nieczuły na wielkość liter.
Gramatyka
strnatcasecmp(string1,string2)
Parametry | Opis |
---|---|
string1 | Wymagane. Określa pierwszy ciąg do porównania. |
string2 | Wymagane. Określa drugi ciąg do porównania. |
Szczegóły techniczne
Wartość zwracana: |
Funkcja ta zwraca:
|
Wersja PHP: | 4+ |
Więcej przykładów
Przykład 1
Różnica między algorytmem naturalnym (strnatcmp) a standardowym algorytmem sortowania stringów komputerowych (strcmp):
<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "Porównanie stringów w standardowym porządku"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "Porównanie stringów w naturalnym porządku"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>