PHP - Como comparar duas strings case insensitive

Publicado por Fábio Berbert de Paula em 09/04/2015

[ Hits: 18.473 ]

Blog: https://fabio.automatizando.dev

 


PHP - Como comparar duas strings case insensitive



Comparar duas strings em PHP é bem simples:

<?php
$a = "VivaOLinux";
$b = "vivaolinux";

if ($a==$b) {
	echo "$a é igual à $b";
} else {
	echo "$a NÃO é igual à $b";
}
?>

No exemplo acima a saída seria:

php teste.php
VivaOLinux NÃO é igual à vivaolinux

O problema começa quando você quer um resultado sem levar em conta o case das variáveis. Para resolver isso o PHP oferece uma função bem simples:

int strcasecmp ( string $str1 , string $str2 )

Retorna < 0 se str1 é menor do que str2; > 0 se str1 é maior do que str2, e 0 se forem iguais.

Adaptando nosso exemplo:

<?php
$a = "VivaOLinux";
$b = "vivaolinux";

if ( strcasecmp($a,$b)==0 ) {
	echo "$a é igual à $b";
} else {
	echo "$a NÃO é igual à $b";
}
?>

Testando:

php teste.php
VivaOLinux é igual à vivaolinux

Fonte: PHP: strcasecmp - Manual - php.net

Espero ter ajudado.

Outras dicas deste autor

Configurando um drive de CD-RW com interface IDE

Vim - juntar múltiplas linhas em uma só (JOIN)

Google Podcasts e Podcasts de Tecnologia

Como escrever em arquivos protegidos usando o sudo e redirecionamento

Como rodar vídeos de sites de streaming no Opera browser

Leitura recomendada

Imprimindo números no formato de moeda em PHP

Separar palavras de uma string no PHP

Remover espaços no fim de linha - Eclipse

Entenda Expressões Regulares em PHP

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

  

Comentários
[1] Comentário enviado por andrelds em 09/04/2015 - 13:11h

Muito bom, não conhecia o strcasecomp,
eu uso o mb_strtolower($str, 'utf-8') para fazer a comparação :)

http://php.net/manual/pt_BR/function.mb-strtolower.php



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts