⊗ppPmCdTO 101 of 447 menu

Operador Ternário em PHP

Suponha que temos o seguinte código, que verifica se o usuário já tem 18 anos ou não:

<?php $age = 17; if ($age >= 18) { $adult = true; } else { $adult = false; } var_dump($adult); ?>

Como você pode ver, a construção if-else é necessária apenas para gravar um determinado valor na variável $adult. Para essas tarefas, quando no condicional acontece apenas a gravação de uma variável, existe uma solução mais curta através do chamado operador ternário.

Sua sintaxe é a seguinte:

<?php $variavel = condicao ? valor1 : valor2; ?>

O operador funciona da seguinte forma: se a condição for verdadeira, então valor1 é retornado, caso contrário - valor2. Vamos reescrever o código apresentado no início da lição usando o operador ternário:

<?php $age = 17; $adult = $age >= 18 ? true : false; var_dump($adult); ?>

Aliás, é possível não gravar o resultado em uma variável, mas sim exibi-lo diretamente via var_dump:

<?php $age = 17; var_dump( $age >= 18 ? true : false ); ?>

O operador ternário deve ser usado apenas nos casos mais simples, pois seu uso dificulta a compreensão do código.

Suponha que haja uma variável $num que pode ser negativa ou positiva. Grave na variável $res o número 1 se a variável $num for maior ou igual a zero, e o número -1 se a variável $num for menor que zero.

frcsmsdeda