natsort

(PHP 4, PHP 5, PHP 7)

natsortSortiert ein Array in "natürlicher Reihenfolge"

Beschreibung

natsort ( array &$array ) : bool

Diese Funktion implementiert einen Sortieralgorithmus, welcher alphanumerische Zeichenketten reiht, wie es auch ein Mensch tun würde, wobei Sie die Schlüssel-Wert-Zuordnung beibehält. Das wird als "natürliche Reihenfolge" bezeichnet. Ein Beispiel für den Unterschied zwischen diesem und dem normalen Sortieralgorithmus für Strings eines Computers (verwendet in sort()) ist weiter unten zu sehen.

Hinweis:

Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.

Parameter-Liste

array

Das Eingabe-Array.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
5.2.10 Mit 0 aufgefüllte numerische Zeichenketten (z.B. '00005') ignorieren nun die 0-Füllung im Wesentlichen.

Beispiele

Beispiel #1 natsort() Beispiele, die die grundlegende Verwendung demonstrieren

<?php
$array1 
$array2 = array("img12.png""img10.png""img2.png""img1.png");

sort ($array1);
echo 
"Standardsortierung\n";
print_r ($array1);

natsort ($array2);
echo 
"\nSortieren mit natürlicher Reihenfolge\n";
print_r ($array2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Standardsortierung
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Sortieren mit natürlicher Reihenfolge
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Detailliertere Informationen finden Sie auf Martin Pools » Natural Order String Comparison Seite.

Beispiel #2 natsort() Beispiele, die potentielle Tücken demonstrieren

<?php
echo "Negative Zahlen\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo 
"0-Füllung\n";
$zeros = array('09''8''10''009''011''0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Negative Zahlen
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

0-Füllung
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Siehe auch