CakeFest 2024: The Official CakePHP Conference

ArrayObject::natsort

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

ArrayObject::natsortSort entries using a "natural order" algorithm

Descrizione

public ArrayObject::natsort(): true

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in ArrayObject::asort) method can be seen in the example below.

Nota:

If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.

Elenco dei parametri

Questa funzione non contiene parametri.

Valori restituiti

Nessun valore viene restituito.

Log delle modifiche

Versione Descrizione
8.2.0 The return type is true now; previously, it was bool.

Esempi

Example #1 ArrayObject::natsort() example

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

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo
"Standard sorting\n";
print_r($arr1);

$arr2->natsort();
echo
"\nNatural order sorting\n";
print_r($arr2);
?>

Il precedente esempio visualizzerà:

Standard sorting
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Vedere anche:

add a note

User Contributed Notes

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