strnatcasecmp

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

strnatcasecmpComparação de strings insensível a maiúsculas/minúsculas usando o algoritmo de "ordem natural"

Descrição

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

Esta função implementa um algoritmo de comparação que ordena strings alfanuméricos da maneira que um ser humano faria. O comportamento desta função é similar a strnatcmp(), exceto que a comparação não é sensível a maiúsculas/minúsculas. Para maiores informações consulte: » Comparação de Strings em Ordem Natural, de Martin Pool.

Parâmetros

string1

A primeira string.

string2

A segunda string.

Valor Retornado

Retorna um valor menor que 0 se string1 for abaixo de string2; um valor maior que 0 se string1 for acima de string2 e 0 se elas forem iguais. Nenhum significado em particular pode ser inferido com confiança desse valor a não ser o seu sinal.

Registro de Alterações

Versão Descrição
8.2.0 Não é mais garantido que esta função retornará strlen($string1) - strlen($string2) quando os comprimentos das strings não forem iguais, mas ppodem agora retornar -1 ou 1 no lugar.

Exemplos

Exemplo #1 Exemplo de strnatcasecmp()

<?php

var_dump
(strnatcasecmp('Apple', 'Banana'));
var_dump(strnatcasecmp('Banana', 'Apple'));
var_dump(strnatcasecmp('apple', 'Apple'));
?>

O exemplo acima produzirá:

int(-1)
int(1)
int(0)

Veja Também

  • preg_match() - Realiza uma correspondência com expressão regular
  • strcmp() - Comparação binária segura de strings
  • 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
  • strncasecmp() - Comparação binária de strings, insensível a maiúsculas/minúsculas, dos primeiros n caracteres
  • strncmp() - Comparação de strings segura para binários dos primeiros n caracteres
  • strstr() - Encontra a primeira ocorrência de uma string
  • setlocale() - Define informação de localidade

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
9
chatfielddaniel at googlemail dot com
13 years ago
The function treats '_' as after letters and numbers when it would be placed before logically.
up
4
Marco
8 years ago
Use strnatcmp to avoid the _ problem as mentioned below;

<< The function treats '_' as after letters and numbers when it would be placed before logically. >>
To Top