Como sabemos, las sentencias de control de lenguajes de programación nos ayudan a estructurar el flujo de nuestros programas. En PHP no es la excepción y si recuerdas las sentencias de control en el lenguaje C te será más fácil utilizarlas en PHP.
Las principales sentencias de control en PHP son las siguientes:
if/else
if/elseif/else
switch
do/while
while
for
A continuación veremos ejemplos de cada sentencia de control y como pueden ayudarnos a generar contenido dinámico.
if/else
La sentencia de control más común es el if ya que se basa en una decisión simple, con dos posibles caminos, cierto y falso. Un ejemplo clásico del uso del if es el siguiente:
Ejemplo del uso del if en php
Es importante decir que este tipo de if´s pueden ser escritos en una sola línea utilizando lo que se conoce en el argot como operador ternario. Veamos como quedaria el ejemplo anterior con operador ternario:
If ternario en php
Como podemos ver la estructura es muy mas abreviada y trabaja bajo el entendido de que regresa un valor.
if/elseif/else
Cuando lo que se quiere evaluar son varias condiciones exclusivas entre sí, se utiliza otra forma de if. El siguiente ejemplo muestra el uso del if antes citado para la validación de 2 condiciones y utilizando el else se puede obtener como resultado 3 estados:
if con condiciones exclusivas.
Cuando utilizamos múltiples condiciones exclusivas se vuelve algo engorroso la implementación con if-elseif-else. Para este fin se utiliza la sentencia switch. .
switch
En el caso que se requieran validar el cumplimiento de múltiples condiciones exclusivas para una sola variable es conveniente utilizar la sentencia switch. Veamos a continuación el ejemplo anterior ahora implementado con switch:
Uso del switch
Hay que notar lo ordenado que luce el código utilizando esta sentencia de control. Recordemos que si por alguna razón omitimos el break, es que como si emuláramos un OR con la siguiente condición. En tal caso podríamos utilizarlo a nuestro favor que se ejecutarían los bloques de código, sin embargo este tipo de cosas pasan casi siempre como errores de lógica.
do/while
Cuando necesitamos la repetición de una cierta secuencia de pasos dispones de tres sentencias de control, la primera que trataremos será el do/while la cual se ejecuta al menos una sola vez antes de revisas la condición que lo hará parar. Veamos a continuación el siguiente ejemplo que emprime en una tabla HTML la tabla del 8:
Ejemplo de uso del do/while en php
while
En esencia todas las sentencias de repetición pueden realizar las mismas tareas, aunque en algunas están más optimizadas que otras en algunos casos. Por ejemplo el while siempre revisará primero su condición de terminación antes de ejecutar el bloque de instrucciones. Veamos el ejemplo anterior ahora implementado con while:
Ejemplo del uso del while en PHP
Debemos ser muy cuidadosos en la condición de terminación ya que si no es especificada de manera correcta podríamos causar un ciclo infinito que consumiría todos los recursos del servidor y terminaría por dejar de funcionar.
for
En el caso en el que sabemos de antemano cuantas repeticiones utilizaremos es conveniente utilizar la sentencia for, podemos especificar la inicialización de nuestra variable de condición, la condición de terminación y el incremento que tendrá, todo en una sola línea. Veamos el ejemplo de la tabla de multiplicar del 8. Observemos que el if es la forma optima para implementar este tipo de programas:
Ejemplo del uso del for en PHP
Conclusión
Las estructuras de control en PHP son bastante parecidas a las estructuras del lenguaje C. Sin embargo proporcionan la potencia para crear contenido dinámico a las páginas web mediante la generación de código HTML.