Funkce strnatcmp
Funkce strnatcmp provádí porovnání dvou řetězců s ohledem na přirozené řazení znaků.
Na rozdíl od běžného porovnávání tato funkce rozpoznává čísla uvnitř řetězců a porovnává je podle jejich číselné hodnoty.
Funkce vrací 0 pokud jsou řetězce identické, číslo -1 pokud je první řetězec menší než druhý,
a číslo větší než 1 pokud je první řetězec větší než druhý.
Syntaxe
strnatcmp(string $str1, string $str2): int
Příklad
Porovnání řetězců s čísly běžným způsobem a pomocí strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Výsledek provedení kódu:
strcmp result: 1
strnatcmp result: -1
Příklad
Porovnání řetězců s různými čísly:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Výsledek provedení kódu:
-1
Příklad
Porovnání stejných řetězců:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Výsledek provedení kódu:
0
Viz také
-
funkci
strcmp,
která provádí binárně-bezpečné porovnání řetězců -
funkci
strcasecmp,
která porovnává řetězce bez ohledu na velikost písmen -
funkci
natcasesort,
která řadí pole pomocí přirozeného řazení bez ohledu na velikost písmen