Estruturas condicionais no PHP: torne seu código inteligente

Rocketseat

Rocketseat

9 min de leitura
php
Faaala, dev! Tudo tranquilo por aí? Já pensou em fazer o seu programa tomar decisões quase como se tivesse mente própria? É exatamente pra isso que servem as estruturas condicionais no PHP – elas permitem que o seu código escolha diferentes caminhos de execução com base em condições definidas. Irado, né?
Imagina só: você pode mostrar uma mensagem de boas-vindas especial se o usuário estiver logado, ou liberar acesso a um conteúdo secreto durante uma data específica. Tudo isso com algumas simples condições no código! Nesta conversa, vou te mostrar passo a passo como usar if, else, elseif, switch e até o famoso operador ternário do PHP.
Então, partiu turbinar seus projetos e aprender algo novo? Bora lá! 🚀

O que são estruturas condicionais?

Em termos simples, estruturas condicionais são como placas de direção no caminho do código: elas fazem o programa tomar decisões com base em alguma condição que você definir. Ou seja, o código "pergunta" algo (por exemplo, uma variável tem determinado valor?) e, dependendo da resposta (verdadeiro ou falso), ele segue por um rumo diferente. No PHP (e em muitas outras linguagens), as estruturas condicionais mais usadas são o famoso if (se), acompanhado do else (senão) e do elseif. Daqui a pouco vamos ver cada um deles em ação na prática, então segura aí! 😉

Por que as estruturas condicionais são importantes?

Sem essas estruturas de decisão, nossos programas seriam completamente "lineares", fazendo sempre a mesma coisa sem reagir a nada. 🤖 Imagine só um site que não consegue verificar se você está logado para mostrar seu perfil, ou uma aplicação que não impede o acesso de usuários não autorizados. Complicado, né? As condicionais trazem inteligência e flexibilidade para o código: com elas, você pode definir quem acessa o quê, quando determinada funcionalidade deve estar ativa, qual mensagem mostrar em cada situação e por aí vai. Em outras palavras, elas permitem que seu programa responda de maneira esperta a diferentes cenários – exatamente o que a gente precisa no dia a dia para criar aplicações dinâmicas e prontas pro mundo real.
Aliás, se bateu aquela dúvida se ainda vale a pena aprender PHP em 2025, pode ficar tranquilo: a resposta pode te surpreender!

Estrutura if no PHP

A estrutura if é a forma mais básica de tomar decisões no código. Ela verifica uma condição e, se essa condição for verdadeira, executa o bloco de código associado (se for falsa, pula aquele bloco). Vamos ver um exemplo prático bem maneiro:
Imagina que a Rocketseat vai liberar o acesso a um conteúdo gratuito de PHP durante alguns dias específicos, e você quer mostrar uma mensagem de "acesso liberado" apenas nesse intervalo. Podemos resolver com um simples if. Saca só:
<?php $dataAtual = date("Y-m-d"); // pega a data atual no formato YYYY-MM-DD $dataInicioPromo = "2025-07-01"; // data de início da promoção $dataFimPromo = "2025-07-07"; // data de término da promoção if ($dataAtual >= $dataInicioPromo && $dataAtual <= $dataFimPromo) { echo "Acesso liberado ao conteúdo especial de PHP, aproveite!"; } ?>
No código acima, usamos date("Y-m-d") para obter a data de hoje (ano-mês-dia). Definimos um período de promoção nas variáveis $dataInicioPromo e $dataFimPromo. Em seguida, o if checa duas condições unidas pelo operador lógico &&: se hoje é maior ou igual ao início e menor ou igual ao fim. Se as duas condições forem satisfeitas (ou seja, estamos dentro do intervalo), o PHP executa o código dentro das chaves {} e exibe a mensagem "Acesso liberado ao conteúdo especial de PHP, aproveite!". Caso contrário, o bloco dentro do if é simplesmente ignorado e nada acontece.
Para rodar esse exemplo no seu computador, você precisa ter o PHP funcionando aí. Se ainda não configurou seu ambiente, dá uma conferida em como configurar seu ambiente PHP antes de continuar, beleza?
Perceba como o if deixa nosso programa esperto: somente durante o período definido a mensagem será mostrada. Fora dessas datas, o código passa reto pelo bloco e segue em frente. Agora, e se quisermos que o programa faça algo quando a condição for falsa (ou seja, fora do intervalo)? Aí entra o else. Vamos ver a seguir!

Estrutura if/else no PHP

Beleza, já sabemos fazer algo acontecer quando a condição é verdadeira. Mas e quando ela é falsa? É aí que entra o else. Essa estrutura complementar define um bloco de código a ser executado caso a condição do if não seja atendida. Em outras palavras, é o famoso "senão". Vamos ampliar o exemplo anterior incluindo um else:
<?php // ... (mesmo código de definição de datas do exemplo anterior) if ($dataAtual >= $dataInicioPromo && $dataAtual <= $dataFimPromo) { echo "Acesso liberado ao conteúdo especial de PHP!"; } else { echo "Fique ligado! Esse conteúdo só estará disponível de 01/07 a 07/07."; } ?>
Agora temos dois caminhos possíveis: se a condição for verdadeira, exibimos a mensagem de acesso liberado; se for falsa, o código dentro do else é executado, mostrando uma mensagem alternativa. No caso acima, se você rodar o código numa data fora do período, vai cair no bloco do else e ver a mensagem "Fique ligado! Esse conteúdo só estará disponível de 01/07 a 07/07.". Massa, né? Assim o usuário não fica sem feedback.
Com if e else, cobrimos dois cenários (condição verdadeira ou falsa). Mas e se quisermos tratar mais de duas situações possíveis? Aí vamos precisar do nosso próximo amigo, o elseif. Vamos conferir!

Estrutura elseif no PHP

O elseif (às vezes escrito como else if separado, mas no PHP é comum usar junto) permite encadear várias condições em sequência. Pense nele assim: "se não for a primeira condição, tenta essa próxima aqui". Você pode ter quantos elseif precisar, formando uma espécie de degrau de decisões até encontrar um que seja verdadeiro. Se nenhum for verdadeiro, pode finalizar com um else no fim para cobrir todos os outros casos.
Vamos supor um exemplo bem comum: verificação de nota de um aluno. Dependendo da nota, queremos exibir mensagens diferentes: aprovado, em recuperação ou reprovado. Podemos fazer assim:
<?php $nota = 7.5; $nomeAluno = "Fernanda"; if ($nota >= 7.0) { echo "$nomeAluno, você foi aprovada!"; } elseif ($nota >= 5.0) { echo "$nomeAluno, você ficou de recuperação."; } else { echo "$nomeAluno, infelizmente você foi reprovada."; } ?>
Nesse código, temos três caminhos possíveis baseados no valor de $nota:
  • Se a nota for 7.0 ou acima, a primeira condição do if é satisfeita e imprimimos "Fernanda, você foi aprovada!".
  • Se a primeira condição falhar, o programa tenta a próxima: se a nota for 5.0 ou mais (e aqui já sabemos que é menor que 7.0, senão teria passado no if), cai no elseif e mostra "Fernanda, você ficou de recuperação.".
  • Se nenhuma das anteriores for verdadeira (ou seja, nota abaixo de 5.0), o else final é executado, exibindo "Fernanda, infelizmente você foi reprovada.".
Perceba que o fluxo é lido de cima pra baixo: assim que uma das condições é verdadeira, todo o restante é ignorado. Bem útil para cobrir cenários múltiplos, né?
Com if, elseif e else, você consegue montar estruturas condicionais bem complexas conforme a lógica que precisar. Mas tem casos em que verificar uma mesma variável contra vários valores fica ainda mais elegante usando outra estrutura: o famoso switch. Bora pra ele!

Estrutura switch-case no PHP

Quando você precisa verificar uma mesma variável contra várias opções de valor, usar um monte de elseif pode ficar meio repetitivo. Nesses casos, o switch cai como uma luva! Ele faz exatamente isso: compara o valor de uma variável com diversas casas (cases) diferentes e executa o bloco correspondente ao primeiro caso que bater.
Olha este exemplo baseado nas trilhas de estudo da Rocketseat. Digamos que a variável $stackRocketseat guarda a stack (tecnologia) que você está estudando, e queremos mostrar uma mensagem personalizada pra cada uma:
<?php $stackRocketseat = "Node"; switch ($stackRocketseat) { case "PHP": echo "A stack PHP está disponível pra você dominar!"; break; case "Java": echo "A stack Java tem ótimas oportunidades!"; break; case "C#": echo "A stack C# oferece muitos desafios e aprendizado."; break; case "Node": echo "Node é perfeito para você se tornar Fullstack!"; break; case "IA para Devs": echo "Inteligência Artificial é o futuro, bora aprender!"; break; case "DevOps": echo "DevOps é a peça que faltava na sua jornada!"; break; default: echo "Stack não encontrada... mas com certeza a Rocketseat tem algo para você!"; } ?>
No código acima, o PHP vai verificar o valor de $stackRocketseat caso por caso:
  • Se for "PHP", executa o código daquele case e mostra "A stack PHP está disponível pra você dominar!".
  • Se não for, passa para o próximo caso "Java" e assim por diante.
  • Quando encontra um caso que seja igual ao valor da variável, executa aquele bloco. O break ao final de cada caso serve para sair do switch após encontrar o correspondente, evitando continuar verificando as outras opções desnecessariamente.
  • Se nenhum dos case for compatível, o bloco default (padrão) é executado, garantindo que sempre haja uma resposta. No exemplo, se $stackRocketseat fosse um valor que não listamos (digamos "Go"), cairia no default e exibiria "Stack não encontrada... mas com certeza a Rocketseat tem algo para você!".
Viu como o switch deixa o código mais organizado quando há muitas comparações sobre a mesma variável? Ele é ótimo pra esses cenários, mantendo a legibilidade do código. Só não esquece de colocar o break em cada caso, senão o PHP vai continuar executando os casos de baixo em sequência (o famoso fall-through).

Operador ternário no PHP

O operador ternário é uma forma compacta de escrever um if/else simples. Sabe aquele if básico que só atribui um valor X se a condição for verdadeira, ou Y se for falsa? Com o ternário dá pra fazer isso em uma linha só! Ele funciona assim:
<?php $participarEvento = "sim"; $mensagem = ($participarEvento == "sim") ? "Vou participar do evento gratuito de PHP na Rocketseat!" : "Não vou poder participar."; echo $mensagem; ?>
No exemplo acima, temos uma variável $participarEvento que pode ser "sim" ou "nao". O operador ternário avalia a condição $participarEvento == "sim":
  • Se for verdadeira, o valor antes dos dois pontos : é retornado (nesse caso, a string "Vou participar do evento gratuito de PHP na Rocketseat!").
  • Se for falsa, retorna o valor depois dos dois pontos, que é "Não vou poder participar.".
Ou seja, após essa linha, a variável $mensagem vai conter uma dessas duas frases, dependendo do valor de $participarEvento. Em seguida, damos um echo $mensagem; para exibir o resultado.
Legal, né? Em uma única linha conseguimos o mesmo efeito de um if/else simples. Isso deixa o código mais sucinto e pode melhorar a leitura quando usado em situações apropriadas.
Dica: evite usar ternário em lógicas muito complexas ou aninhadas, porque aí em vez de ajudar, ele pode confundir quem lê o código. Mas para aqueles casos triviais como o do exemplo, ele cai super bem!

Boas práticas e dicas

  • Use sempre chaves { }, mesmo se o bloco do if ou else tiver apenas uma linha. Isso melhora a legibilidade e previne erros bobos. Sem as chaves, fica fácil se confundir sobre quais linhas pertencem ao if/else.
  • Aproveite o curto-circuito: o PHP avalia as condições lógicas da esquerda para a direita e para na primeira que decidir o resultado. Isso significa que você pode ordenar as comparações de forma a evitar verificações desnecessárias ou erros. Por exemplo, em if ($denominador != 0 && $numerador/$denominador > 1), se $denominador for 0, a segunda condição nem chega a ser avaliada (evitando um erro de divisão por zero).
  • Comparação segura: ao comparar variáveis com valores constantes, alguns devs colocam o valor constante à esquerda da comparação – por exemplo, escrever if (3 == $variavel) em vez de if ($variavel == 3). Parece meio esquisito 😅, mas assim, se você acidentalmente usar = no lugar de ==, o interpretador vai acusar erro (já que não dá pra atribuir nada a 3). Isso ajuda a evitar aquelas dores de cabeça causadas por um sinal de igual fora do lugar!
  • Diferença entre == e ===: Lembre que == compara os valores sem considerar o tipo, enquanto === compara valor e tipo. Por boas práticas, use === quando quiser verificar igualdade de forma mais estrita, evitando resultados verdadeiros "por coincidência" entre tipos diferentes (por exemplo, 0 == "0" é true, mas 0 === "0" é false).

Sintaxe alternativa no PHP para condicionais

Sabia que o PHP oferece uma sintaxe alternativa para if/elseif/else? Essa forma é muito utilizada quando estamos misturando PHP e HTML no mesmo arquivo, porque ajuda a deixar o código mais limpo e legível. Em vez de usar {} para abrir/fechar blocos, a sintaxe alternativa usa dois pontos : e palavras-chave de fechamento.
Por exemplo, vamos pegar o mesmo cenário do $participarEvento e escrever usando a sintaxe alternativa dentro de um HTML:
<?php if ($participarEvento == "sim"): ?> <p>Você vai participar do evento gratuito de PHP! Bora codar! 💜</p> <?php else: ?> <p>Poxa... Você vai perder uma ótima oportunidade de aprender PHP.</p> <?php endif; ?>
Reparou? Depois da condição usamos : em vez de {. E lá no final fechamos o bloco do if com <?php endif; ?> (o else é fechado implicitamente junto). Essa notação é super útil em arquivos PHP que geram HTML, pois evita conflitos visuais entre as chaves do PHP e as tags HTML. Fica tudo mais organizado, parecendo até um pseudo-código.
Dica: a sintaxe alternativa existe também para outras estruturas de controle, como foreach ... endforeach e for ... endfor. Então, se um dia você se pegar escrevendo muito HTML dentro de loops ou condicionais PHP, experimente usar essa forma alternativa pra ganhar legibilidade!

Quando usar qual estrutura condicional?

  • Use if/else: quando há uma ou algumas condições específicas a serem verificadas. É o feijão com arroz do controle de fluxo – claro e direto, ótimo para a maioria dos casos gerais.
  • Use switch: quando você precisa comparar a mesma variável com várias possibilidades de valor. Ele deixa o código mais organizado do que uma longa cadeia de elseif nesses cenários.
  • Use o operador ternário: para decisões bem simples e enxutas, como atribuir um valor com base em uma condição única. Se a lógica for muito complexa ou envolver várias etapas, aí é melhor usar if/else tradicional pra não sacrificar a clareza do código.

Conclusão

E aí, curtiu o poder das estruturas condicionais no PHP? 🎉 Como deu pra ver, essas ferramentas são muito importantes pra dar inteligência ao seu código e construir aplicações mais interativas. Agora é praticar bastante: pega alguns dos exemplos que mostramos, adapta pro seu próprio contexto e experimenta sem medo. Quanto mais você brincar com if/else, switch e ternários, mais natural esse raciocínio vai ficar.
Lembre-se: programação é mão na massa! Então, que tal um desafio? Pense em alguma funcionalidade simples (pode ser verificar idade para acesso a conteúdo, checar login, calcular frete grátis dependendo do valor da compra...) e tente implementar usando condicionais. Você vai ver como esse conhecimento novo já começa a destravar possibilidades.
Ah, e as estruturas condicionais são só o começo! 📚 Seu próximo passo pode ser aprender sobre loops em PHP (para lidar com repetições) e explorar como criar e utilizar funções para organizar melhor o código. Aos poucos, você vai ampliando seu toolkit de dev e criando projetos cada vez mais robustos.
No fim das contas, o segredo é continuar evoluindo sempre. As ferramentas você já tem – agora é com você! 😉
🚀
Vamos mais longe? Se você quer dar um passo além e se tornar um profissional em PHP, a Formação PHP da Rocketseat está te esperando. Por que investir no PHP hoje?
  • Ampla demanda no mercado: muitas empresas utilizam PHP em seus projetos, então oportunidades de trabalho não vão faltar.
  • Fácil aprendizado: a sintaxe do PHP é acessível e direta, ideal pra quem está começando no back-end.
  • Compatibilidade com bancos de dados: integração tranquila com MySQL, PostgreSQL e outros bancos populares, facilitando a criação de aplicações completas.
  • Comunidade vibrante: uma galera enorme de devs no mundo todo pra trocar ideia, além de incontáveis recursos e bibliotecas gratuitos.
Na Formação PHP, você vai aprender do zero ao avançado com conteúdo 100% prático, construir projetos reais pro seu portfólio, ganhar certificado e ainda contar com a ajuda de uma comunidade incrível de devs. Curtiu? Então bora embarcar nessa jornada e decolar na carreira com PHP! 💜
Qual será seu próximo passo? Conta pra gente lá na comunidade da Rocketseat – vamos adorar saber o que você vai construir depois de dominar as condicionais!
Artigos_

Explore conteúdos relacionados

Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.

Aprenda programação do zero e DE GRAÇA

No Discover você vai descomplicar a programação, aprender a criar seu primeiro site com a mão na massa e iniciar sua transição de carreira.

COMECE A ESTUDAR AGORA