17. OPERADOR TERNARIO

 

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>&nbsp;</td>

      <td>&nbsp;</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

Buscar este blog