Funzione strnatcmp
La funzione strnatcmp esegue un confronto tra due stringhe tenendo conto dell'ordinamento naturale dei caratteri.
A differenza del confronto ordinario, questa funzione riconosce i numeri all'interno delle stringhe e li confronta in base al loro valore numerico.
La funzione restituisce 0 se le stringhe sono identiche, un numero -1 se la prima stringa è minore della seconda,
e un numero maggiore di 1 se la prima stringa è maggiore della seconda.
Sintassi
strnatcmp(string $str1, string $str2): int
Esempio
Confronto di stringhe con numeri in modo normale e con strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Risultato dell'esecuzione del codice:
strcmp result: 1
strnatcmp result: -1
Esempio
Confronto di stringhe con numeri diversi:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Risultato dell'esecuzione del codice:
-1
Esempio
Confronto di stringhe identiche:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Risultato dell'esecuzione del codice:
0
Vedi anche
-
la funzione
strcmp,
che esegue un confronto di stringhe binary-safe -
la funzione
strcasecmp,
che confronta stringhe senza distinzione tra maiuscole e minuscole -
la funzione
natcasesort,
che ordina un array utilizzando l'ordinamento naturale senza distinzione tra maiuscole e minuscole