Guia PHP

Documentação: PHP: If/else e o operador ternário

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (5)  (0)

Este documento apresenta a estrutura de condição if/else da linguagem PHP. Com ela é possível executar trechos de código apenas se uma condição for atendida.

Os operadores condicionais são um dos recursos mais básicos da programação, e são essenciais no desenvolvimento da lógica de qualquer sistema ou aplicação. Eles são utilizados quando é necessário que determinado código seja executado apenas se atender a uma condição.

Neste documento apresentaremos as estruturas de condição if/else, else if e operador ternário.

If/else

O if/else é um operador condicional utilizado quando desejamos executar um bloco de código apenas se determinada condição for atendida, por exemplo, exibir um conteúdo apenas se o usuário for maior de idade.

Sintaxe do if/else:

<?php
  if ($condicao)
{
  // código se a condição for atendida
}
else
{
  // código se a condição não for atendida
}
?>

Assim, caso a condição seja atendida, o primeiro bloco de código será executado, senão, é executado o segundo bloco.

Nota: O uso do else não é obrigatório. Em muitos casos apenas o if será suficiente. Além disso, o uso das chaves para delimitar o bloco de código é opcional caso nele seja declarada apenas uma linha. Ainda assim, recomenda-se o uso das chaves visando melhor legibilidade do código.

Exemplo de uso:

<?php 
  $a = 4;
  $b = 2;

  if ($a/$b == 2)
  {
    echo "O resultado da divisão é 2";
  }
  else
  {
    echo "O resultado da divisão não é 2";
  }
?>

Neste código verificamos se a divisão de um número é igual a 2. Caso verdadeiro, executamos o primeiro bloco de código, caso contrário, o segundo.

Else if

Além do if/else, existe também a condicional elseif ou else if. Essa opção é utilizada caso seja necessário verificar duas ou mais condições.

Sintaxe do if/else com elseif:

<?php
  if ($condicaoUm)
{
  // código se a condiçãoUm for atendida
}
elseif ($condicaoDois)
{
  // código se a condiçãoDois for atendida
}
else
{ 
  // código se nenhum das condições forem atendidas
}
?>

Observe que agora temos duas condições. Caso nenhuma delas seja atendida, o código declarado dentro do else é executado.

Nota: Podemos declarar quantos elseif forem necessários para atender a lógica a ser implementada.

Exemplo de uso:

<?php 

  $a = 8;
  $b = 2;
  
  if ($a/$b==2)
  {
    echo "O resultado da divisão é 2";
  }
  elseif ($a/$b==4)
  {
    echo "O resultado da divisão é 4";
  }
  else
  {
    echo "O resultado da divisão não é 2 nem 4";
  }
?>

Este código é semelhante ao anterior, mas como declaramos mais uma condição foi necessário utilizar o elseif.

Operador ternário

Outra estrutura de condição é o operador ternário, o qual também é chamado de if ternário. Em suma, ele é uma versão compacta do if.

Sintaxe do operador ternário:

condição ? codigoUm : codigoDois;

Primeiro declaramos a condição; logo após o sinal de interrogação (?), o código a ser executado caso a condição seja verdadeira; e depois dos dois pontos, o código a ser executado caso contrário.

Exemplo de uso:

<?php
  $a = 8;
  $b = 2;

  echo $a/$b == 2 ? "O resultado da divisão é 2" : "O resultado da divisão não é 2";
?>

O resultado da execução deste código será a impressão da mensagem “O resultado da divisão não é 2”.

Forma curta ou short form

O operador ternário também possui uma versão ainda mais compacta, chamada de "forma curta" ou short form".

A sintaxe da forma curta do operador ternário é:

(condição/codigoUm) ?: codigoDois;

Dessa forma, caso a condição seja atendida, a própria será o código a ser executado, caso contrário, será executado o "codigoDois".

Exemplo de uso:

$nome = "Fulano de tal";
$nome = ($nome) ?: "Sem nome";
Nota: A forma curta do operador ternário só está disponível a partir da versão 5.3 do PHP. Agradecemos especialmente a Wilson Neto pela dica enviada

Exemplo prático

Suponha que você está desenvolvendo um site e precisa exibir alguns conteúdos conforme a idade dos usuários. Para usuários com menos de 18 anos, a renderização de alguns conteúdos não deve ser realizada. Para implementar essa lógica podemos fazer uso das estruturas de condição.

Exemplo de uso com if/else:

<?php
  $idade = 18;

  if ($idade >= 18)
  {
    $x = "É maior de idade";
  }
  else
  {
    $x = "É menor de idade";
  }
  
  echo $x;
?>

Exemplo de uso com o operador ternário:

<?php

$idade = 18;
  
$x = $idade >= 18 ? "É maior de idade" : "É menor de idade";

echo $x;

?>

Em ambos os códigos, caso a idade do usuário seja maior ou igual a 18, a mensagem “É maior de idade” é impressa; caso contrário, é impressa a mensagem “É menor de idade”.


 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?