ArrayObject::natsort
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::natsort — Ordena as entradas usando um algoritmo de "ordem natural"
Descrição
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
- ArrayObject::asort() - Ordenar as entradas por valor
- ArrayObject::ksort() - Ordena as entradas pela chave
- ArrayObject::natcasesort() - Ordena uma matriz usando um algoritmo de "ordem natural" insensível a maiúsculas e minúsculas
- ArrayObject::uasort() - Ordena as entradas com uma função de comparação definida pelo usuário e mantém a associação de chaves
- ArrayObject::uksort() - Ordena as entradas pelas chaves usando uma função de comparação definida pelo usuário
- natsort() - Ordena um array utilizando o algoritmo de "ordem natural"