strnatcmp

Confronto tra stringhe con l'algoritmo dell' "ordine naturale"

Descrizione

int strnatcmp(string $str1, string $str2)

Questa funzione implementa un algoritmo di confronto che ordina le stringhe alfa-numeriche nel modo con cui lo avrebbe fatto un uomo, questo è detto "ordinamento naturale". Un esempio della differenza tra questo algoritmo e quello solito dei computer (utilizzato da strcmp) è illustrato di seguito: <?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Standard string comparison\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nNatural order string comparison\n"; usort($arr2, "strnatcmp"); print_r($arr2); ?> Il precedente codice visualizzerà: Standard string comparison Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Natural order string comparison Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) Per maggiori informazioni vedere: Martin Pool's Natural Order String Comparison page.

Al pari delle altre funzioni di confronto tra stringhe, questa restituisce Lt 0 se str1 è minore di str2; Gt 0 se str1 è maggiore di str2, e 0 se sono uguali.

Nota questo confronto distingue tra lettere maiuscole e minuscole.

Vedere anche ereg, strcasecmp, substr, stristr, strcmp, strncmp, strncasecmp, strnatcasecmp, strstr, natsort e natcasesort.