Função natsort

A função natsort ordena um array da maneira como um humano faria. A função mantém as associações entre chaves e valores. Esse algoritmo é chamado de natural ordering.

A função altera o próprio array.

Sintaxe

phpnatsort(array &$array, int $flags = SORT_REGULAR): bool

Exemplo

Vamos ordenar um array usando a função normal sort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png',
  ];
  
  sort($arr);
  var_dump($arr);
?>

Resultado da execução do código:

php[
  'img1.png',
  'img10.png',
  'img12.png',
  'img2.png',
]

Exemplo

E agora vamos executar a ordenação natural usando a função natsort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png'
  ];
  
  natsort($arr);
  var_dump($arr);
?>

Resultado da execução do código:

php[
  'img1.png',
  'img2.png',
  'img10.png',
  'img12.png',
]

Veja também

  • a função sort,
    que ordena em ordem crescente de elementos
  • a função rsort,
    que ordena em ordem decrescente de elementos
  • a função ksort,
    que ordena em ordem crescente de chaves
  • a função krsort,
    que ordena em ordem decrescente de chaves
  • a função asort,
    que ordena em ordem crescente de elementos mantendo as chaves
  • a função arsort,
    que ordena em ordem decrescente de elementos mantendo as chaves
  • a função natcasesort,
    que ordena de forma natural sem diferenciar maiúsculas e minúsculas
  • a função usort,
    que ordena por um callback
  • a função uksort,
    que ordena por um callback por chaves
  • a função uasort,
    que ordena por um callback mantendo as chaves
  • a função array_multisort,
    que ordena vários arrays