W3docs

strtoupper()

A função strtoupper() no PHP converte todas as letras minúsculas de uma string em maiúsculas, sendo útil para normalização e comparações.

Introdução

strtoupper() converte cada letra minúscula de uma string em maiúscula e retorna o resultado. A string original não é alterada — como todas as funções de string do PHP, strtoupper() retorna uma nova string em vez de modificar o argumento no lugar.

Você a utiliza sempre que precisa de saída ou comparação sem distinção de maiúsculas e minúsculas: normalizando códigos de país (usUS), destacando um título em caixa alta, ou comparando duas strings sem se preocupar com capitalização. Esta página cobre a sintaxe, a importante ressalva sobre multibyte, e as funções relacionadas que você frequentemente usará junto com ela.

Sintaxe

strtoupper(string $string): string
ParteDescrição
$stringA string de entrada. Obrigatório.
RetornoUma cópia de $string com cada letra ASCII minúscula (az) convertida em maiúscula. Caracteres que não são letras são retornados sem alteração.

Um exemplo básico

php— editable, runs on the server

Dígitos, espaços e pontuação (!) passam sem alteração — apenas as letras são convertidas para maiúsculas. Note que $string ainda contém "Hello World!"; o texto convertido está em $uppercase.

Comparação sem distinção de maiúsculas e minúsculas

Um uso comum é comparar entradas do usuário sem se preocupar com como foram digitadas. Converta ambos os lados para maiúsculas e depois compare:

<?php

$input = "Yes";

if (strtoupper($input) === "YES") {
    echo "Confirmed";
} else {
    echo "Not confirmed";
}
// Confirmed

É por isso que strtoupper() (e sua contraparte strtolower()) aparecem com tanta frequência em código de processamento de formulários e roteamento.

A armadilha do multibyte

strtoupper() é baseada em bytes e sem consciência de locale para qualquer coisa fora do ASCII simples. Ela só sabe converter az. Letras acentuadas e não latinas são mantidas como estão:

<?php

echo strtoupper("café"); // CAFé  — the é is not converted

Para texto Unicode (strings UTF-8 com acentos, ñ, cirílico, grego, etc.) use mb_strtoupper(), que entende codificações de caracteres:

<?php

echo mb_strtoupper("café", "UTF-8"); // CAFÉ

Regra geral: dados apenas ASCII (códigos, slugs, rótulos somente em inglês) → strtoupper(). Qualquer coisa que possa conter caracteres internacionais → mb_strtoupper().

Funções relacionadas

  • strtolower() — o inverso: converte letras maiúsculas em minúsculas.
  • ucfirst() — torna maiúscula apenas o primeiro caractere de uma string.
  • ucwords() — torna maiúscula o primeiro caractere de cada palavra.

Resumo

strtoupper() retorna uma nova cópia totalmente em maiúsculas de uma string ASCII e é útil para normalizar dados e realizar comparações sem distinção de maiúsculas e minúsculas. Para texto que pode conter caracteres não ASCII, prefira mb_strtoupper() para que letras acentuadas e não latinas sejam convertidas corretamente.

Prática

Prática
O que a função PHP strtoupper faz?
O que a função PHP strtoupper faz?
Was this page helpful?