PHP - Como comparar duas strings case insensitive

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

[ Hits: 16.856 ]

Blog: https://mestrefabio.com

 


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

Inicialização do Sistema

React Native: Package Ignored Invalid Configuration [Resolvido]

Contabilizando Linhas e Palavras de um Projeto com Shell Script

ERROR 144 - Table XXX is marked as crashed and last (automatic?) repair failed [Resolvido]

Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Leitura recomendada

Entenda Expressões Regulares em PHP

Separar palavras de uma string no PHP

Separar caracteres de uma string no PHP

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

Imprimindo números no formato de moeda em PHP

  

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