Estructuras de control (2 de 2) PHP 5

do-while
Este bucle es igual al anterior "while" solo que la condición se evalúa una vez se han ejecutado las instrucciones que contiene. Por lo tanto, el código que está entre sus llaves se ejecuta una o más veces. Su estructura principal es la siguiente:
do{
     instrucción1;
     instrucción2;
}
while (condición);

En casos prácticos el resultado de utilizar do-while o while normalmente son mínimos, la única diferencia que puede hacer decantarse por utilizar uno u otro es que do-while se ejecuta una o más veces y while se ejecuta cero o mas veces.

A continuación podemos ver la sucesión de Fibonacci realizada con un bucle do-while.


for
Esta es la última estructura de bucle que veremos, a su vez, es la que puede resultar más complicada de las 3 que veremos, pero una vez se vean y expliquen todos los términos, verá que es prácticamente igual a las anteriores, si sintaxis es la siguiente.
for(expresión inicial; condición de fin; expresión de fin)
{
     instrucción1;
     instrucción2;
}

Su funcionamiento es el siguiente, la expresión inicial se ejecuta una sola vez al comienzo del bucle. La condición de fin se evalúa cada vez que ejecuta el bucle, si esta condición devuelve true, se continúa la ejecución del bucle, y si devuelve false se sale del bucle. Por último, al final de cada interacción se ejecuta la  expresión de fin.

Hay varias posibilidades de uso para este bucle, la primera es eliminando alguna o todas las expresiones del bucle, por ejemplo, si se utiliza sin ninguna expresión, se genera un bucle infinito igual al bucle while(true).
Otra posibilidad es que se añadan mas condiciones a las expresiones existentes, separándolas unas de otras con comas ",". En este último caso el bucle for se evaluará false si alguna de las clausulas se evalúa como  false.


En este caso podemos ver un bucle for con varias condiciones en cada expresión, el bucle se va ejecutando hasta que $y deje de ser menor que 10 o hasta que $z deje de ser menor que 10. En este caso, el bucle se ejecuta tres veces, y en la 4º comprobación $z toma el valor 10, así que la condición se evalúa false y se sale del bucle.

break y continue
Normalmente, las condiciones para que salgamos de un bucle, es que su condición se evalúe como false. Existe una forma especial de salir o continuar la ejecución de los bucles que es utilizando las palabras reservadas break y continue. Su forma de actuar es la siguiente:

  • break, sale del bucle actual, y continúa la ejecución del programa.
  • continue, salta hasta de la interacción, y continúa la ejecución desde el principio del bucle.
Podemos verlos en acción en el siguiente ejemplo:


Como vemos, empieza a ejecutarse el bucle normalmente imprimiendo el valor de la variable $i, cuando esta toma el valor 10, se ejecuta el continue, saltando la ejecución del bucle al final, y empezando de nuevo desde el principio y cuando el valor de la variable es 15, se ejecuta el break finalizando la ejecución del bucle.

Por último decir, que el uso de break y continue está desaconsejado, ya que el bucle debe reiterarse hasta que su condición lo permita, el uso de break  y continue pueden dificultar el seguimiento de un programa por otras personas.

Finalizar la ejecución de un programa
Si necesitamos para la ejecución de un programa por que haya ocurrido un error en el programa, un problema no controlado... Las funciones para llevar a cabo dicha tarea son die( )  y exit( ). Ambas funciones aceptan un parámetro de entrada que será la cadena que se imprima por pantalla. Su funcionamiento podemos verlo en el siguiente ejemplo.


En este caso, se ejecutará la función conexionBaseDatos (que es inventada) hacia la base de datos "colegio", como esta base de datos no existe, la función devolverá un error, en este caso, se ejecuta la función die( ), deteniendo la ejecución del programa e imprimiendo por pantalla la cadena especificada.

Comentarios

Entradas populares de este blog

Autocompletado de codigo en Sublime Text

Compilar y ejecutar JAVA desde Notepad++

Compilar y ejecutar JAVA desde Sublime Text