Como converter uma string para maiúsculas ou minúsculas no PHP?
A conversão de strings para maiúsculas ou minúsculas é uma operação comum no PHP, principalmente para padronização de textos, validação de entradas de usuários e manipulação de dados. O PHP oferece várias funções para esse propósito.
Convertendo para maiúsculas com strtoupper()
A função strtoupper()
transforma todos os caracteres de uma string em maiúsculas:
<?php
$texto = "php é incrível!";
echo strtoupper($texto);
?>
Saída:
PHP É INCRÍVEL!
Convertendo para minúsculas com strtolower()
Para converter todos os caracteres para minúsculas, usamos strtolower()
:
<?php
$texto = "PHP É PODEROSO!";
echo strtolower($texto);
?>
Saída:
php é poderoso!
Capitalizando a primeira letra com ucfirst()
A função ucfirst()
deixa apenas a primeira letra da string em maiúscula:
<?php
$texto = "php é muito versátil.";
echo ucfirst($texto);
?>
Saída:
Php é muito versátil.
Capitalizando a primeira letra de cada palavra com ucwords()
Se quisermos que cada palavra da string comece com letra maiúscula, usamos ucwords()
:
<?php
$texto = "php é uma linguagem dinâmica";
echo ucwords($texto);
?>
Saída:
Php É Uma Linguagem Dinâmica
Convertendo corretamente caracteres acentuados com mb_strtoupper() e mb_strtolower()
Se a string contiver caracteres acentuados, strtoupper()
e strtolower()
podem não funcionar corretamente. Para esses casos, usamos mb_strtoupper()
e mb_strtolower()
:
<?php
$texto = "áéíóú ç";
echo mb_strtoupper($texto, "UTF-8");
?>
Saída:
ÁÉÍÓÚ Ç
Quando usar strtoupper(), strtolower() e mb_strtoupper() no PHP?
A conversão de maiúsculas e minúsculas no PHP é essencial para padronizar entradas de usuários, formatar dados e criar sistemas mais organizados. O uso de strtoupper()
e strtolower()
cobre a maioria dos casos, mas quando lidamos com acentos e caracteres especiais, mb_strtoupper()
e mb_strtolower()
são mais indicados, pois garantem compatibilidade com UTF-8.
Algumas aplicações:
- Padronização de entradas de usuários
- Formatar nomes próprios ou títulos de artigos
- Comparação de strings sem considerar letras maiúsculas/minúsculas
- Garantia de formatação correta em bancos de dados
Dicas para quem está começando
- Use
strtoupper()
para transformar toda a string em maiúsculas. - Se precisar de minúsculas,
strtolower()
é a opção correta. - Para deixar apenas a primeira letra maiúscula, utilize
ucfirst()
. - Se precisar capitalizar todas as palavras,
ucwords()
é ideal. - Quando trabalhar com acentos, prefira
mb_strtoupper()
emb_strtolower()
para evitar erros.
Contribuições de Rafael Nogueira