PHP 8.5.0 Alpha 1 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, ellos mantendrán su orden original. Antes de PHP 8.0.0, su orden relativo en un array ordenado era indefinido.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

No devuelve ningún valor.

Historial de cambios

Versión Descripción
8.2.0 The return type is true now; previously, it was 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 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.

Ver también

add a note

User Contributed Notes

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