Funktionen strnatcmp
Funktionen strnatcmp udfører en sammenligning af to strenge under hensyntagen til den naturlige rækkefølge af tegn.
I modsætning til almindelig sammenligning genkender denne funktion tal inde i strengene og sammenligner dem efter deres numeriske værdi.
Funktionen returnerer 0 hvis strengene er identiske, tallet -1 hvis den første streng er mindre end den anden,
og et tal større end 1 hvis den første streng er større end den anden.
Syntaks
strnatcmp(string $str1, string $str2): int
Eksempel
Sammenligning af strenge med tal på normal vis og med strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Resultat af kodekørsel:
strcmp result: 1
strnatcmp result: -1
Eksempel
Sammenligning af strenge med forskellige tal:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Resultat af kodekørsel:
-1
Eksempel
Sammenligning af identiske strenge:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Resultat af kodekørsel:
0
Se også
-
funktionen
strcmp,
som udfører en binærsikker sammenligning af strenge -
funktionen
strcasecmp,
som sammenligner strenge uden at tage hensyn til store og små bogstaver -
funktionen
natcasesort,
som sorterer et array ved hjælp af naturlig rækkefølge uden at tage hensyn til store og små bogstaver