lcfirst()
Aprenda sobre a função lcfirst() do PHP, que converte o primeiro caractere de uma string para minúsculo. Veja sintaxe, exemplos e casos de uso.
A função lcfirst() do PHP torna o primeiro caractere de uma string minúsculo e retorna a string modificada. Apenas o primeiro caractere é alterado — o restante da string permanece exatamente como está. Esta página aborda sua sintaxe, valor de retorno, comportamento com não-letras e Unicode, e as situações comuns em que é útil.
Sintaxe
lcfirst(string $string): stringAceita um único parâmetro obrigatório e retorna uma nova string — lcfirst() não modifica a variável original no lugar.
| Parâmetro | Descrição |
|---|---|
$string | A string de entrada cujo primeiro caractere deve ser convertido para minúsculo. |
Valor de retorno: a string resultante com seu primeiro caractere em minúsculo.
Exemplo básico
Apenas o H inicial muda; o restante permanece intocado:
hello World!Quando devo usá-la?
lcfirst() é pequena, mas útil sempre que o primeiro caractere tem um significado especial:
- Gerando identificadores camelCase. Transforme
GetUserNameemgetUserNamepara nomes de métodos ou propriedades. - Normalizando entradas do usuário que podem chegar capitalizadas quando você as armazena em minúsculo.
- Formatação de frases/listas, em que a primeira palavra de um fragmento não deve começar com letra maiúscula.
<?php
// PascalCase -> camelCase
echo lcfirst("UserProfile"); // userProfile
?>userProfileComportamento com não-letras e entradas já em minúsculo
Se o primeiro caractere não for uma letra maiúscula — um dígito, símbolo, espaço ou uma letra já em minúsculo — lcfirst() retorna a string sem alterações.
<?php
echo lcfirst("Hello"), "\n"; // hello
echo lcfirst("123ABC"), "\n"; // 123ABC (first char is a digit)
echo lcfirst(" Hello"), "\n"; // " Hello" (leading space is unchanged)
echo lcfirst(""), "\n"; // "" (empty string)
?>hello
123ABC
Hello
Atenção: lcfirst() é baseada em bytes, não é compatível com Unicode
lcfirst() lida apenas com letras ASCII de byte único. Caracteres multibyte, como letras acentuadas ou não latinas, não são convertidos corretamente para minúsculo, pois a função opera no primeiro byte em vez do primeiro caractere.
<?php
echo lcfirst("Élan"); // stays "Élan" (É is multibyte)
?>ÉlanPara strings multibyte, converta o primeiro caractere para minúsculo manualmente com mb_strtolower() e mb_substr():
<?php
$str = "Élan";
$first = mb_strtolower(mb_substr($str, 0, 1), "UTF-8");
echo $first . mb_substr($str, 1); // élan
?>élanFunções relacionadas
ucfirst()— o oposto: torna o primeiro caractere maiúsculo.ucwords()— torna maiúscula a primeira letra de cada palavra.strtolower()— converte toda a string para minúsculo.strtoupper()— converte toda a string para maiúsculo.