natsort

(PHP 4 )

natsort --  Ordena una matriz usando un algoritmo de "orden natural"

Descripción

void natsort ( array matriz)

Esta función implementa un algoritmo que ordena cadenas alfanuméricas en la forma en que lo haría un ser humano. Esta propiedad es conocida como "ordenamiento natural". Un ejemplo de la diferencia entre éste y el algoritmo computacional normal de ordenamiento de cadenas (usado en sort()) puede apreciarse a continuación:

Ejemplo 1. Ejemplo de natsort()

<?php
$matriz1 = $matriz2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort($matriz1);
echo "Ordenamiento est&aacute;ndar\n";
print_r($matriz1);

natsort($matriz2);
echo "\nOrdenamiento natural\n";
print_r($matriz2);
?>

El anterior fragmento de código genera la siguiente salida:

Ordenamiento est&aacute;ndar
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Ordenamiento natural
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Para más información vea: la página de Comparación de Cadenas en Orden Natural de Martin Pool.

Nota: Si desea conservar asociaciones entre índice/valor, considere usar uasort($matriz, 'strnatcmp').

Vea también natcasesort(), strnatcmp(), y strnatcasecmp().