Funktio strnatcmp
Funktio strnatcmp suorittaa kahden merkkijonon vertailun ottamaan huomioon merkkien luonnollisen järjestyksen.
Toisin kuin tavallinen vertailu, tämä funktio tunnistaa merkkijonojen sisällä olevat numerot ja vertailee niitä numeerisena arvona.
Funktio palauttaa 0 jos merkkijonot ovat identtiset, luvun -1 jos ensimmäinen merkkijono on pienempi kuin toinen,
ja luvun suurempi kuin 1 jos ensimmäinen merkkijono on suurempi kuin toinen.
Syntaksi
strnatcmp(string $str1, string $str2): int
Esimerkki
Merkkijonojen vertailu numeroilla tavalliseen tapaan ja strnatcmp-funktiolla:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Koodin suorituksen tulos:
strcmp result: 1
strnatcmp result: -1
Esimerkki
Eri numeroita sisältävien merkkijonojen vertailu:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Koodin suorituksen tulos:
-1
Esimerkki
Samankaltaisten merkkijonojen vertailu:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Koodin suorituksen tulos:
0
Katso myös
-
funktion
strcmp,
joka suorittaa binaariturvallisen merkkijonojen vertailun -
funktion
strcasecmp,
joka vertailee merkkijonoja ottamatta huomioon kirjainkokoa -
funktion
natcasesort,
joka lajittaa taulukon käyttäen luonnollista järjestystä ottamatta huomioon kirjainkokoa