(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, mantienen su orden original. Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.
Esta función no contiene ningún parámetro.
No se retorna ningún valor.
Versión | Descripción |
---|---|
8.2.0 |
El tipo de retorno es ahora true , anteriormente era 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 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
.