Símbolo de signo de interrogación en PHP
- Introducción al operador ternario en PHP
-
Evaluación de expresiones
Verdadero
yFalso
mediante el operador ternario en PHP
En PHP, el operador de interrogación ?
se llama operador ternario o operador ternario condicional. Este artículo profundizará en el operador ternario en PHP.
Introducción al operador ternario en PHP
El operador ternario condicional ?
también se conoce como expresión condicional o operador ternario. Tiene la siguiente sintaxis:
$variable = (condition) ? value_if_true : value_if_false;
Aquí hay un desglose de los componentes:
-
condición
: una expresión booleana que se evalúa. -
valor_si_verdadero
: el valor asignado a$variable
sicondición
es verdadero. -
valor_si_falso
: el valor asignado a$variable
sicondición
es falso.
El operador ternario evalúa condición
; si es verdadera, asigna valor_si_verdadero
a $variable
; de lo contrario, asigna valor_si_falso
.
Código de ejemplo:
<?php
$num = 10;
$result = ($num % 2 == 0) ? "Even" : "Odd";
echo "The number $num is $result.";
?>
Salida:
The number 10 is Even.
Podemos usar el operador ternario para sustituir las construcciones if-else
para acortar la longitud del código y mejorar la legibilidad. Podemos usarlo para escribir expresiones condicionales más simples.
Código de ejemplo:
<?php
$count = (true) ? 1 : 0;
if (true)
{
$count = 1;
}
else
{
$count = 0;
}
echo $count;
?>
Salida:
1
Sin embargo, leer el código cuando encadenamos o anidamos el operador ternario puede requerir esfuerzo. Otro inconveniente del operador ternario es que es difícil depurar el código, ya que no podemos colocar puntos de interrupción en las subexpresiones.
Evaluación de expresiones Verdadero
y Falso
mediante el operador ternario en PHP
Analizaremos el uso del operador ternario. El siguiente ejemplo evaluará la expresión verdadera
y ejecutará el bloque de código correspondiente.
La función canVote()
determinará si una persona puede votar o no. Primero, se evalúa la variable $age
si es mayor o igual a 18
.
Luego, invocamos la función canVote()
con el valor 21
como parámetro, que es la edad legal para votar. Aquí, la expresión se evalúa como verdadera
y se ejecuta la segunda opción.
Código de ejemplo:
<?php
function canVote($age){
echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(21);
?>
La función canVote()
determinará si una persona puede votar o no. Primero, se evalúa la variable $age
si es mayor o igual a 18
.
Luego, invocamos la función canVote()
con el valor 21
como parámetro, que es la edad legal para votar. Aquí, la expresión se evalúa como verdadera
y se ejecuta la segunda opción.
Salida:
you can vote
En el siguiente ejemplo, si proporcionamos un valor menor que 18, la expresión de comparación se evaluará como falsa
. Por lo tanto, se mostrará la tercera expresión, No puedes votar
.
Código de ejemplo:
<?php
function canVote($age){
echo $age>=18 ?"you can vote": "you cannot vote";
}
canVote(17);
?>
Salida:
you cannot vote
En otros casos, la evaluación de la expresión devolverá un valor falso
. Por ejemplo, si la expresión devuelve un valor null
, Nan
, 0
o un valor vacío, la expresión devolverá un valor falso
.
El siguiente ejemplo muestra las condiciones del valor falso
. El operador ternario ejecutará la tercera expresión cuando se evalúen estos valores.
Código de ejemplo:
<?php
function Car($name){
echo $name?$name:"no name";
echo "<br>";
}
Car("Tesla");
Car(null);
Car("");
Car(0);
?>
Salida:
Tesla
no name
no name
no name
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn