(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::natsort — Ordena los elementos con un tri natural
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, como se ilustra a continuación.
Nota:
Si dos miembros se comparan como iguales, ellos mantendrán su orden original. Antes de PHP 8.0.0, su orden relativo en un array ordenado era indefinido.
Esta función no tiene parámetros.
No devuelve ningún valor.
Versión | Descripción |
---|---|
8.2.0 |
The return type is true now; previously, it was bool.
|
Ejemplo #1 Ejemplo con ArrayObject::natsort()
<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");
$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;
$arr1->asort();
echo "Tri estándar\n";
var_dump($arr1);
$arr2->natsort();
echo "\nTri en orden natural\n";
var_dump($arr2);
?>
El resultado del ejemplo sería:
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
.