PHP 8.5.0 Alpha 2 available for testing

ArrayObject::natsort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::natsortOrdena los elementos con un tri natural

Descripción

public ArrayObject::natsort(): true

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.

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 #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.

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top