strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcmpComparações de strings usando um algoritmo de "ordem natural"

Descrição

strnatcmp(string $string1, string $string2): int

Esta função implementa um algoritmo de comparação que ordena strings alfanuméricas da mesma forma que um ser humano faria, o que é descrito como "ordenação natural". Observe que esta comparação é sensível a maiúsculas/minúsculas.

Parâmetros

string1

A primeira string.

string2

A segunda string.

Valor Retornado

Da mesma forma que outras funções de comparação de strings, esta retorna -1 se string1 estiver abaixo de string2; 1 se string1 estiver acima de string2, e 0 se elas forem iguais.

Registro de Alterações

Versão Descrição
8.2.0 Esta função agora retorna -1 ou 1, onde anteriormente retornava um número negativo ou positivo.

Exemplos

Um exemplo da diferença entre este algoritmo e os algoritmos de ordenação de strings comuns (usados em strcmp()) pode ser visto abaixo:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Comparação padrão de strings\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nComparação de strings em ordem natural\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

O exemplo acima produzirá:

Comparação padrão de strings
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Comparação de strings em ordem natural
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Para mais informação, consulte a página » Comparação de String em Ordem Natural, de Martin Pool.

Veja Também

  • preg_match() - Realiza uma correspondência com expressão regular
  • strcasecmp() - Comparação binária segura de strings insensível a maiúsculas/minúsculas
  • substr() - Retorna parte de uma string
  • stristr() - strstr insensível a maiúsculas/minúsculas
  • strcmp() - Comparação binária segura de strings
  • strncmp() - Comparação de strings segura para binários dos primeiros n caracteres
  • strncasecmp() - Comparação binária de strings, insensível a maiúsculas/minúsculas, dos primeiros n caracteres
  • strnatcasecmp() - Comparação de strings insensível a maiúsculas/minúsculas usando o algoritmo de "ordem natural"
  • strstr() - Encontra a primeira ocorrência de uma string
  • natsort() - Ordena um array utilizando o algoritmo de "ordem natural"
  • natcasesort() - Ordena um array utilizando o algoritmo da "ordem natural" sem diferenciar maiúsculas e minúsculas