(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::natsort — Sort entries using a "natural order" algorithm
This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in ArrayObject::asort) method can be seen in the example below.
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.
Diese Funktion besitzt keine Parameter.
Es wird kein Wert zurückgegeben.
Beispiel #1 ArrayObject::natsort() example
<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");
$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;
$arr1->asort();
echo "Standard sorting\n";
var_dump($arr1);
$arr2->natsort();
echo "\nNatural order sorting\n";
var_dump($arr2);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Standard sorting object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(4) { [3]=> string(8) "img1.png" [1]=> string(9) "img10.png" [0]=> string(9) "img12.png" [2]=> string(8) "img2.png" } } Natural order sorting object(ArrayObject)#2 (1) { ["storage":"ArrayObject":private]=> array(4) { [3]=> string(8) "img1.png" [2]=> string(8) "img2.png" [1]=> string(9) "img10.png" [0]=> string(9) "img12.png" } }
For more information see: Martin Pool's » Natural Order String Comparison page.