Para realizar o controle de caracteres maiúsculos e minúsculos o PHP disponibiliza diversas funções como: lcfirst, ucfirst, ucwords, strtolower, strtoupper e mb_strtoupper. Estas 5 funções realizam basicamente alteração de caracteres maiúsculas para minusculas e vice-versa. Por isto resolvi dar uma estudada nas mesmas e trazê-las em um pacote dentro deste post.
lcfirst
Comecemos pela função lcfirst, ela é útil quando queremos transformar apenas a primeira letra de uma string em minúscula. Por exemplo quando temos uma frase de algum artigo e queremos salvar isto com tudo em minúsculo. Não tem muito o que explicar dela, seu uso é bem simples, você passa a string e ela te retorna com o primeiro caractere em minúsculo. Seu uso é assim:
lcfirst ($string );
ucfirst
Ao contrário da lcfirst, a função ucfirst transforma a primeira letra de uma string em maiúscula, então se você quiser pegar aquela frase toda em minúscula e capitalizar o primeiro caractere, esta é a função. Seu uso é exatamente igual a lcfirst.
ucfirst ($string );
ucwords
A função ucwords foi um pouquinho além, e transforma o primeiro caractere de cada palavra para maiúsculo. O uso continua o mesmo:
ucwords ($string );
strtolower
No caso de conversão de caracteres a strtolower, assim como a strtoupper, são mais comuns. A strtolower transforma qualquer caractere maiúsculo da string passada para minúsculo. A forma de usar ainda continua a mesma:
strtolower ($string );
A strtolower pode ser utilizada para padronizar nomes de arquivos em uploads ou caminhos. Em URLs, caracteres 100% em minúsculos são mais amigáveis para a digitação do usuário. Isto porque apesar de domínios não serem case sensitive as URLs são.
Como não é usual digitarmos nada usando letras maiúsculas nas URLs, manter caracteres sempre em minúsculo garante que o usuário tem um conteúdo único.
strtoupper e mb_strtoupper
A strtoupper é o oposto da strtolower, sendo assim, ela se responsabiliza por transformar toda a string em maiúsculo. Vale lembrar que a strtoupper pode não trazer resultados corretos quando utilizada em strings com acento. Infelizmente a função não identifica letras acentuadas como caractere alfabético válido, por isto utilize a função mb_strtoupper nestes caso. Para não me alongar muito vou mostrar a utilização de ambas abaixo:
strtolower ($string ); mb_strtolower ($string,"utf-8" );
Como podem ver a única diferença entre uma e outra é que na mb_strtolower a gente define também o charset que desejamos e assim a função consegue identificar os caracteres como alfabéticos.
Por serem funções usuais, mas com aplicações simples e variadas, não consegui achar ou pensar em um exemplo único para a utilização destes comandos, mas convido a todos postarem nos comentários sobre usos interessantes destas funções. Abs e aguardem no próximo artigo falarei sobre strstr e stristr.