# ArrayObject::natsort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::natsort — Trie les éléments avec un tri naturel

### Description

public ArrayObject::natsort(): true

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.

### Liste de paramètres

Cette fonction ne contient aucun paramètre.

### Valeurs de retour

Aucune valeur n'est retournée.

### Historique

Version | Description
--- | ---
8.2.0 | Le type de retour est maintenant `true`, auparavant il était bool.

### Exemples

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`.

### Voir aussi

- ArrayObject::asort() - Trie les éléments par valeur
- ArrayObject::ksort() - Trie un tableau par clé
- ArrayObject::natcasesort() - Trie un tableau en utilisant le tri naturel sans la casse
- ArrayObject::uasort() - Trie les éléments avec une fonction utilisateur
- ArrayObject::uksort() - Trie les éléments par clé avec une fonction utilisateur
- natsort() - Trie un tableau avec l'algorithme à "ordre naturel"