Forum und email

strnatcmp

(PHP 4, PHP 5)

strnatcmp — String vergelijking gebruikmakend van een "natural order" algoritme

Beschrijving

int strnatcmp ( string $str1 , string $str2 )

Deze functie implementeert een vergelijkingsalgoritme die alfanumerieke strings sorteert op een manier zoals een mens dat zou doen, dit is beschreven als een "natural ordering". Een voorbeeld van het verschil tussen dit algoritme en normale computer string sorting algoritmes (gebruikt in strcmp()) kan je hieronder vinden.

$arr1 = $arr2 = array ("img12.png","img10.png","img2.png","img1.png");
echo "Standard string vergelijking\n";
usort($arr1,"strcmp");
print_r($arr1);
echo "\nNatural order string vergelijking\n";
usort($arr2,"strnatcmp");
print_r($arr2);
De code hierboven zal de volgende output genereren:
Standaard string vergelijking
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string vergelijking
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Voor meer informatie zie: Martin Pool's » Natural Order String Comparison page.

Vergelijkbaar met andere string vergelijking functies, retourneert deze functie < 0 als str1 minder is dan str2 ; > 0 als str1 groter is dan str2 , en 0 als deze gelijk zijn.

Merk op dat deze functie hoofdletter gevoelig is.

Zie ook ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp() strnatcasecmp(), strstr(), natsort() en natcasesort().