ArrayObject::natsort

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

ArrayObject::natsortOrdena as entradas usando um algoritmo de "ordem natural"

Descrição

public ArrayObject::natsort(): true

Este método implementa um algoritmo de ordenação que ordena strings alfanuméricas da maneira como um ser humano faria, mantendo associações chave/valor. Isso é descrito como uma "ordem natural". Um exemplo da diferença entre esse algoritmo e os algoritmos regulares de ordenação de strings de computador (usados no método ArrayObject::asort) pode ser visto no exemplo abaixo.

Note:

Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0, sua ordem relativa no array ordenado era indefinida.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Nenhum valor é retornado.

Registro de Alterações

Versão Descrição
8.2.0 O tipo do retorno agora é true; anteriormente, era bool.

Exemplos

Example #1 Exemplo de ArrayObject::natsort()

<?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);
?>

O exemplo acima produzirá:

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
)

Para mais informações, consulte a página de » Comparação de Strings em Ordem Natural de Martin Pool.

Veja Também