Funktionen strnatcmp
Funktionen strnatcmp utför en jämförelse av två strängar med hänsyn till den naturliga ordningen av tecken.
Till skillnad från vanlig jämförelse känner denna funktion igen tal inuti strängar och jämför dem efter deras numeriska värde.
Funktionen returnerar 0 om strängarna är identiska, talet -1 om den första strängen är mindre än den andra,
och ett tal större än 1 om den första strängen är större än den andra.
Syntax
strnatcmp(string $str1, string $str2): int
Exempel
Jämförelse av strängar med tal på vanligt sätt och med hjälp av strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Resultat av kodens exekvering:
strcmp result: 1
strnatcmp result: -1
Exempel
Jämförelse av strängar med olika tal:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Resultat av kodens exekvering:
-1
Exempel
Jämförelse av identiska strängar:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Resultat av kodens exekvering:
0
Se även
-
funktionen
strcmp,
som utför en binärt-säker jämförelse av strängar -
funktionen
strcasecmp,
som jämför strängar utan hänsyn till skiftläge -
funktionen
natcasesort,
som sorterar en array med hjälp av naturlig ordning utan hänsyn till skiftläge