(PHP 4, PHP 5, PHP 7, PHP 8)
natsort — Sortiert ein Array in "natürlicher Reihenfolge"
Diese Funktion implementiert einen Sortieralgorithmus, welcher alphanumerische Zeichenketten so ordnet, wie es auch ein Mensch unter Beibehaltung der Schlüssel-Wert-Zuordnung tun würde. Dies wird als "natürliche Reihenfolge" bezeichnet. Ein Beispiel für den Unterschied zwischen diesem und dem normalen Sortieralgorithmus eines Computers für Zeichenketten (verwendet in sort()) ist weiter unten zu sehen.
Hinweis:
Wenn zwei Mitglieder als identisch verglichen werden, behalten sie ihre ursprüngliche Reihenfolge bei. Vor PHP 8.0.0 war die relative Sortierung im sortierten Array nicht definiert.
Hinweis:
Setzt den internen Zeiger des Arrays auf das erste Element zurück.
array
Das Eingabe-Array.
Gibt immer true
zurück.
Beispiel #1 Beispiele für die grundlegende Verwendung von natsort()
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Standardsortierung\n";
print_r($array1);
natsort($array2);
echo "\nSortieren in natürlicher Reihenfolge\n";
print_r($array2);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Standardsortierung Array ( [3] => img1.png [1] => img10.png [0] => img12.png [2] => img2.png ) Sortieren in natürlicher Reihenfolge Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )
Detailliertere Informationen sind auf Martin Pools Seite » Natural Order String Comparison zu finden.
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 )