natsort
En esta página
natsort
Ordena un array con el algoritmo de "orden natural"
Descripción#
natsort(array $array): true
```php
`natsort` implementa un algoritmo de ordenación que trata las cadenas alfanuméricas del array `array` como lo haría un ser humano, conservando la relación clave/valor. Esto se conoce como "orden natural". Un ejemplo de la diferencia de tratamiento entre tal algoritmo y un algoritmo de ordenación de cadenas (como cuando se utiliza `sort`) 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.
> [!NOTE]
> Reinicia el puntero interno del array al primer elemento.
## Parámetros
`array`
El array de entrada.
## Valores devueltos
Retorna siempre `true`.
## Historial de cambios
| Versión | Descripción |
|---------|---------------------------------------------------------------|
| 8.2.0 | El tipo de retorno es ahora `true`, anteriormente era `bool`. |
## Ejemplos
Ejemplo de uso básico con `natsort`
El ejemplo anterior mostrará:
Ordenación estándar
Array
(
[3] => img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Ordenación en orden natural
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
Para más detalles, visite el sitio de Martin Pool sobre [la comparación de cadenas en orden natural](https://github.com/sourcefrog/natsort).
Ejemplos que muestran las trampas de `natsort`
```php
El ejemplo anterior mostrará:
Números negativos
Array
(
[0] => -5
[1] => 3
[2] => -2
[3] => 0
[4] => -1000
[5] => 9
[6] => 1
)
Array
(
[2] => -2
[0] => -5
[4] => -1000
[3] => 0
[6] => 1
[1] => 3
[5] => 9
)
Alineación con ceros
Array
(
[0] => 09
[1] => 8
[2] => 10
[3] => 009
[4] => 011
[5] => 0
)
Array
(
[5] => 0
[1] => 8
[3] => 009
[0] => 09
[2] => 10
[4] => 011
)
Véase también#
natcasesort, Las funciones de ordenación de arrays, strnatcmp, strnatcasecmp