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!");
?>

Uruchomienie przykładu

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:

  • 0 - Jeśli dwa ciągi są równe
  • <0 - Jeśli string1 jest mniejszy niż string2
  • >0 - Jeśli string1 jest większy niż string2
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);
?>

Uruchomienie przykładu