(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::natsort — Trie les éléments avec un tri naturel
Cette méthode implémente un algorithme de tri qui place les chaînes alphanumériques dans le même ordre que celui qu'un humain utiliserait, tout en conservant la corrélation entre les clé et les valeurs. Ceci porte le nom de tri naturel. Par exemple, le tri naturel se distingue du tri informatique, tel qu'utilisé dans ArrayObject::asort, comme illustré ci-dessous.
Note:
Si deux membres se comparent comme égaux, ils maintiennent leur ordre original. Antérieur à PHP 8.0.0, leur ordre relatif dans le tableau trié n'est pas défini.
Cette fonction ne contient aucun paramètre.
Aucune valeur n'est retournée.
Version | Description |
---|---|
8.2.0 |
Le type de retour est maintenant true , auparavant il était bool.
|
Exemple #1 Exemple avec ArrayObject::natsort()
<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");
$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;
$arr1->asort();
echo "Tri standard\n";
var_dump($arr1);
$arr2->natsort();
echo "\nTri en ordre naturel\n";
var_dump($arr2);
?>
L'exemple ci-dessus va afficher :
Tri standard 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" } } Tri en ordre naturel 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" } }
Pour plus d'informations, voyez le site de Martin Pool
» Natural Order String Comparison
.