Operador ternario en PHP
Supongamos que tenemos el siguiente código, que verifica
si el usuario ya tiene 18 años o no:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Como puedes ver, la construcción if-else
solo es necesaria para asignar un valor determinado
a la variable $adult. Para
este tipo de tareas, donde en la condición solo se
asigna un valor a una variable, existe
una solución más breve mediante el llamado
operador ternario.
Su sintaxis es la siguiente:
<?php
variable = condition ? value1 : value2;
?>
El operador funciona así: si la condición es verdadera,
devuelve value1, en caso
contrario - value2. Reescribamos
el código presentado al principio de la lección usando
el operador ternario:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Por cierto, se puede evitar asignar el resultado a
una variable y mostrarlo directamente mediante var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
El operador ternario debe usarse solo en los casos más simples, ya que su uso dificulta la comprensión del código.
Supongamos que se da una variable $num, que
puede ser negativa o positiva.
Escribe en la variable $res el número
1, si la variable $num es mayor
o igual a cero, y el número -1, si la variable
$num es menor que cero.