(PHP 4, PHP 5, PHP 7)
natsort — Sortiert ein Array in "natürlicher Reihenfolge"
&$array
)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.
array
Das Eingabe-Array.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
5.2.10 | Mit 0 aufgefüllte numerische Zeichenketten (z.B. '00005') ignorieren nun die 0-Füllung im Wesentlichen. |
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 )