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<?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<?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<?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<?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.

Задание 1

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.