El operador ternario
es un operador condicional que disminuye la longitud del código
mientras realiza comparaciones y condicionales. Este método es una alternativa
para usar sentencias if-else y
anidadas if-else. El orden de
ejecución para este operador es de izquierda a derecha.
Su sintaxis es la
siguiente:
Condición ¿ Valor si es verdadero : Valor si falso
Utilizando el archivo anterior validacionIf.php, si nuestro código
solo tiene dos condiciones: verdadero o falso:
<?php
if(isset($_POST["enviando"]))
{
$edad=$_POST["edad_usuario"];
if($edad<=18){
echo "Eres menor de edad";
}else {
echo "Eres mayor de edad";
}
}
?>
Esto lo podemos simplificar con el operador
ternario en una sola línea de código:
<?php
if(isset($_POST["enviando"]))
{
$edad=$_POST["edad_usuario"];
/*if($edad<=18){
echo "Eres menor de edad";
}else {
echo "Eres mayor de edad";
}
}*/
echo $edad<=18 ? "Eres menor de edad" :
"Eres mayor de edad";
}
?>
Si queremos que nos evalúe más de una
condición, por ejemplo, un formulario que para acceder al sitio Web necesitas
introducir un nombre de usuario y una contraseña. Hacemos cambios en el
formulario:
<form
action="validacionIf.php" method="post"
name="datos_usuario" id="datos_usuario">
<table width="15%"
align="center">
<tr>
<td>Nombre:</td>
<td><label
for="nombre_usuario"></label>
<input type="text" name="user" id="user"></td>
</tr>
<tr>
<td>Contraseña:</td>
<td><label for="pass_usuario"></label>
<input type="text" name="pass" id="pass"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"
align="center"><input type="submit" name="enviando"
id="enviando" value="Enviar"></td>
</tr>
</table>
</form>
Lo que esta sombreado en amarillo es
lo que hemos cambiado. En el código PHP:
<?php
if(isset($_POST["enviando"]))
{
$user=$_POST["user"];
$pass=$_POST["pass"];
/*if($edad<=18){
echo "Eres menor de edad";
}else {
echo "Eres mayor de edad";
}
}*/
echo $user=="Paco"
&& $pass=="1234" ? "Tienes acceso" :
"No tienes acceso";
}
?>
Si probamos:
Pulsamos el botón de Enviar:
16. CONDICIONAL IF << >>
18. CONDICIONAL SWITCH



0 comentarios:
Publicar un comentario