Tecnologia

Operador ternário

O operador ternário, o qual também é chamado de if ternário, é uma versão compacta do if.


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.


 
echo 3 > 5 ? "3 é maior que 5" : "3 é menor que 5";

$maior = 3 > 5 ? 3 : 5;

Também podemos utilizar a forma curta ou short form.


Dessa forma, caso a condição seja atendida, a própria será o código a ser executado, caso contrário, será executado o que vem depois de : (dois pontos).


 
$nome = "Anderson";
$nome = ($nome) ?: "Sem nome";

A partir do PHP 7 foi adicionado o operador ?? (operador null coalescing). Sua funcionalidade é retornar o primeiro operando se ele existir e não for nulo, do contrário retorna o segundo.

Em outras palavras, foi criado para substituir o uso do operador ternário em conjunto com isset.


 
$username = $_GET['user'] ?? 'nobody';

// o código acima é equivalente a:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';


// O operador null coalescing também funciona na atribuição de valores:
$array['key'] ??= computeDefault();

// o código acima é equivalente a:
if (!isset($array['key'])) {
    $array['key'] = computeDefault();
}
2020 © B85 Tecnologia
eu@andersonbravo.com.br