strnatcmp
(PHP 4, PHP 5, PHP 7, PHP 8)
strnatcmp — Comparações de strings usando um algoritmo de "ordem natural"
Descrição
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 )
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