PHP 8.4.0 RC3 available for testing

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

Similar a outras funções de comparação de strings, esta retorna -1 se string1 representar menos que string2 1 se string1 representar mais que string2, e 0 se 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

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