martes, 31 de mayo de 2016

Capítulo 32: PHP. Operadores de comparación, operadores logicos, instrucción IF, Switch, case, break


Diario de un programador día 76

Operadores de comparación...

¿Pero qué pasó con la lectura desde el teclado que se seguía con los otros lenguajes? Bueno, por lo que estuve leyendo, eso en php se logra con formularios y los formularios se verán en su oportunidad. Así que desde ahora, poco a poco se empezarán a ver aspectos individuales de cada lenguaje pero siempre trataré de ir casi a la par.

Operadores lógicos


Condiciones. El operador IF

Esta vez se verá la sintaxis de cómo utilizar la instrucción IF. Esta sintaxis es así:

<? php
if (condicion a evaluar){
    condición se cumple;
}
else {
    condición no se cumple;
}
?>

Ejemplo:


La línea 1 marca el inicio del código php. En la línea 2 y 3 se declaran variables. En la línea 5 se usa la condición IF, la cual según su sintaxis, la expresión a evaluar debe ir encerrada entre paréntesis. Luego, se debe abrir una llave {. Esta llave puede ir tanto en esta línea como en la línea siguiente. Por preferencia personal, a mi me gusta colocarla en este lugar. La línea 6 mostrará el resultado en caso de que la condición a evaluar haya sido verdadera. En la línea 7 se muestra la llave de cierre } la cual indica que no se ejecutarán más instrucciones. Todo lo que esté dentro de las llaves { } se ejecutará si la condición es verdadera o se cumple.
En la línea 8 va la instrucción ELSE, la cual ejecutará todo el contenido que se encuentre entre llaves { } si la condición a evaluar es falsa o no se cumplió. La línea 11 marca el fin del código php.

Como dije al principio, desde ahora se empezarán a ver poco a poco las características de cada lenguaje, pero principalmente en php, ya que al estar ligado a páginas web y bases de datos, se tendrán que aprender cosas muy distintas a lo que se verán en otros lenguajes. 
  
Instrucción Switch - Case

Esta instrucción, es como una variante o forma abreviada de la instrucción IF, ya que lo que hace es dar varias opciones a mostrar dependiendo del valor de la variable. Se da preferencia al uso de Switch por sobre IF cuando habría que colocar muchas condiciones del tipo IF, entonces para que no se vea "un poco" desordenado o un código muy largo, es que se opta por esta instrucción. Por esta misma razón hay que tener en cuenta que lo que se puede lograr con una instrucción Switch, perfectamente se puede lograr con una instrucción IF.
La sintaxis de esta instrucción va de esta forma:

variable = 1
switch (variable){
    case 1:
        ejecutar instrucciones;
        break;
    case 2:
        ejecutar instrucciones;
        break;
    default:
        ejecutar instrucciones;
        break;
}

Al igual que la instrucción IF, la instrucción switch ejecutará una determinada acción en caso de que la variable sea verdadera o se cumpla. En este caso se muestra que la variable vale 1, por lo tanto se ejecutará el "case 1" conjuntamente con todas sus instrucciones. Notar y no olvidar colocar los 2 puntos (:) al final de la instrucción "case". Al final de cada bloque "case" se debe colocar la instrucción "break", que sirve para salir de la instrucción switch. Si no se coloca el break, se seguirán ejecutando todas las instrucciones case que siguen a continuación, o sea el case 2, 3, etc. Más abajo aparece la instrucción "default". Esta se ejecutará en caso que la variable sea distinta a todos los otros case. Por ejemplo, si tengo un menú con tres opciones, algo así:

opcion 1
opcion 2
opcion 3

Y le pido al usuario que ingrese el nombre de alguna opción. En caso de que el usuario ingrese una opción que no corresponde, yo puedo indicar mediante la instrucción "default" que la opción ingresada no existe o no es válida.  Funciona de manera similar a la instrucción "else".
  
Otro ejemplo:

variable = "user"
switch (variable){
    case "user":
        ejecutar instrucciones;
        break;
    default:
        ejecutar instrucciones;
        break;
}

Aquí se está evaluando si la variable tiene la cadena "user". En caso de ser cierto esto, ejecutará las instrucciones correspondientes y en caso contrario, ejecutará las instrucciones "default".
Supongo que para no complicar las cosas, en Small Basic no incluyeron esta instrucción debido a que como dije antes, se puede lograr exactamente lo mismo con la instrucción IF.

Ahora veré como queda esto en código PHP

<?php
  $numero = 5;

  switch($numero){
      case 1:
        echo "La variable vale 1";
        break;
                 
      case 5:
        echo "La variable vale 5";
        break;
                              
      case 3:
        echo "La variable vale 3";    
        break;
               
      default:
         echo "La variable tiene otro valor";
         break;
  }
?>

Si todo sale como pienso que saldrá, entonces me mostrará como resultado "La variable vale 5". A ver, voy a abrir el navegador, a cargar el trabajo y...
Muy bien !!!.

Si se cambia el valor de la variable, entonces como es de suponer cambiará el resultado a mostrar. Para ver que todo funciona, cambiaré el valor de la variable a todos los valores case que puse.
Empezaré con cambiar el valor de la variable numero que vale 5 y le colocaré un valor de 1...


Guardo los cambios, recargo la página y ...

Bien !!!
Ha funcionado como se esperaba. Ahora con el case 3...

Ok. Ahora por último, agregaré un valor que no existe en los case para hacer funcionar la instrucción "default". Asignaré un valor de 10 a la variable numero y veré que pasa.

Funcionó como se esperaba. Eso es cuanto a esta instrucción.
Hasta la próxima :)

Gustavo J. Cerda Nilo
Enero 2016, última actualización Mayo 2016




No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...