Função strnatcmp
A função strnatcmp executa uma comparação de duas strings considerando a ordem natural dos caracteres.
Diferente da comparação normal, esta função reconhece números dentro das strings e os compara por valor numérico.
A função retorna 0 se as strings são idênticas, o número -1 se a primeira string for menor que a segunda,
e um número maior que 1 se a primeira string for maior que a segunda.
Sintaxe
strnatcmp(string $str1, string $str2): int
Exemplo
Comparando strings com números da maneira usual e com strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Resultado da execução do código:
strcmp result: 1
strnatcmp result: -1
Exemplo
Comparando strings com números diferentes:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Resultado da execução do código:
-1
Exemplo
Comparando strings idênticas:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Resultado da execução do código:
0
Veja também
-
a função
strcmp,
que executa uma comparação de strings binária e segura -
a função
strcasecmp,
que compara strings sem diferenciar maiúsculas de minúsculas -
a função
natcasesort,
que ordena um array usando a ordem natural sem diferenciar maiúsculas de minúsculas