(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Ă©s 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, voir le site de Martin Pool
» Natural Order String Comparison.