PHP Handbuch
Zurück |  | Weiter

# strnatcmp

(PHP 4, PHP 5)

strnatcmp -- String-Vergleich unter Verwendung einer "natürlichen Ordnung"

## Beschreibung

int strnatcmp ( string str1, string str2 )

Diese Funktion implemetiert einen Vergleichsalgorithmus, der alphanumerische Zeichenketten "menschlich" ordnet (auch "natürliche Ordnung" genannt). Der Unterschied zwischen dieser und der regulären String-Sortierung eines Computers (wie sie strcmp() verwendet) wird in dem folgenden Beispiel gezeigt:

`<?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Normaler String-Vergleich\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nVergleich mittels natürlicher Ordnung\n"; usort($arr2, "strnatcmp"); print_r($arr2); ?>`

Der o.a. Code erzeugt die folgende Ausgabe:

    Normaler String-Vergleich
    Array
    (
        [0] => img1.png
        [1] => img10.png
        [2] => img12.png
        [3] => img2.png
    )

    Vergleich mittels natürlicher Ordnung
    Array
    (
        [0] => img1.png
        [1] => img2.png
        [2] => img10.png
        [3] => img12.png
    )

Weitere Informationen finden Sie auf Martin Pools Natural Order String Comparison-Seite.

Ähnlich anderen String-Vergleichs-Funktionen gibt diese < 0 zurück, wenn `str1` kleiner ist als `str2`, bzw. > 0, wenn `str1` größer ist als `str2`, oder 0, wenn sie gleich sind.

Dieser Vergleich berücksichtigt Groß- und Kleinschreibung.

Siehe auch preg_match(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() und natcasesort().

Zurück | Zum Anfang | Weiter
strnatcasecmp | Nach oben | strncasecmp