Documentación offline PHP master

ArrayObject::natsort

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

ArrayObject::natsort

Ordena los elementos con un tri natural

Descripción#

public ArrayObject::natsort(): true
```php

Este método implementa un algoritmo de ordenación que coloca las strings alfanuméricas en el mismo orden que un humano utilizaría, manteniendo la correlación entre las claves y los valores. Esto se denomina tri natural. Por ejemplo, el tri natural se distingue del tri informático, tal como se utiliza en [ArrayObject::asort](#arrayobject.asort), como se ilustra a continuación.

> [!NOTE]
> Si dos miembros se comparan como iguales, mantienen su orden original. Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.

## Parámetros

Esta función no contiene ningún parámetro.

## Valores devueltos

No se retorna ningún valor.

## Historial de cambios

| Versión | Descripción                                                   |
|---------|---------------------------------------------------------------|
| 8.2.0   | El tipo de retorno es ahora `true`, anteriormente era `bool`. |

## Ejemplos

Ejemplo con `ArrayObject::natsort`
asort(); echo "Tri estándar\n"; var_dump($arr1); $arr2->natsort(); echo "\nTri en orden natural\n"; var_dump($arr2); ?>

```php

El ejemplo anterior mostrará:

Tri estándar
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 orden natural
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"
  }
}

Para más información, véase el sitio de Martin Pool Natural Order String Comparison.

Véase también#

ArrayObject::asort, ArrayObject::ksort, ArrayObject::natcasesort, ArrayObject::uasort, ArrayObject::uksort, natsort