Funktion strnatcmp
Die Funktion strnatcmp führt einen Vergleich zweier Strings unter Berücksichtigung der natürlichen Ordnung der Zeichen durch.
Im Gegensatz zum normalen Vergleich erkennt diese Funktion Zahlen innerhalb der Strings und vergleicht sie nach ihrem numerischen Wert.
Die Funktion gibt 0 zurück, wenn die Strings identisch sind, eine Zahl -1, wenn der erste String kleiner als der zweite ist,
und eine Zahl größer als 1, wenn der erste String größer als der zweite ist.
Syntax
strnatcmp(string $str1, string $str2): int
Beispiel
String-Vergleich mit Zahlen auf normale Weise und mit strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Ergebnis der Code-Ausführung:
strcmp result: 1
strnatcmp result: -1
Beispiel
String-Vergleich mit verschiedenen Zahlen:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Ergebnis der Code-Ausführung:
-1
Beispiel
Vergleich identischer Strings:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Ergebnis der Code-Ausführung:
0
Siehe auch
-
die Funktion
strcmp,
die einen binär-sicheren String-Vergleich durchführt -
die Funktion
strcasecmp,
die Strings ohne Berücksichtigung der Groß-/Kleinschreibung vergleicht -
die Funktion
natcasesort,
die ein Array unter Verwendung der natürlichen Ordnung ohne Berücksichtigung der Groß-/Kleinschreibung sortiert