Son parte fundamental de cualquier lenguaje. Sin ellas, las instrucciones de un programa sólo podrían ejecutarse en el orden en que están escritas (orden secuencial). Las estructuras de control permiten modificar este orden. Hay dos categorías de estructuras de control:
- Condicionales o bifurcaciones: permiten que se ejecuten conjuntos distintos de instrucciones, en función de que se verifique o no determinada condición.
- Bucles o repeticiones: permiten que se ejecute repetidamente un conjunto de instrucciones, bien un número pre-determinado de veces, o bien hasta que se verifique una determinada condición.
En términos de un lenguaje de programación, que se verifique o no una condición se traduce en que una expresión lógica tome el valor VERDADERO (TRUE) o tome el valor FALSO (FALSE). En los casos más sencillos y habituales la condición suele ser una comparación entre dos datos, como por ejemplo: si a < b hacer una cosa y en caso contrario hacer otra distinta.
A continuación se describen las distintas estructuras de control. Para cada una de ellas se describe el diagrama de flujo y la sintaxis de la sentencia correspondiente en lenguaje PHP. Obsérvese que todas ellas tienen una única entrada y una única salida.
IF...ELSE
Este tipo de estructura permite implementar condicionales en los que hay dos acciones alternativas, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresión if original se evalúe como FALSE.
- Si se verifica una determinada condición, ejecutar un serie de instrucciones (bloque 1).
- Si no, esto es, si la condición NO se verifica, ejecutar otra serie de instrucciones (bloque 2).
En otras palabras, en este tipo de estructuras hay una alternativa: se hace una cosa o se hace la otra. En ambos casos, se sigue por la instrucción siguiente a la estrucutra IF - ELSE.
Sintaxis básica
<?php
$a=3;
$b=4;
if($a==$b){
//Instrucciones en caso de que la condición sea verdadera
echo"$a es igual a $b";
}
else{
//Instrucciones en caso de que la condición sea falsa
echo"$a es distinto de $b";
}
?>
Diagrama De Flujo
FOR...NEXT
Este tipo de estructura permite implementar la repetición de un cierto conjunto de instrucciones un número pre-determinado de veces.
Para ello se utiliza una variable de control del bucle, llamada también índice, que va recorriendo un conjunto prefijado de valores en un orden determinado. Para cada valor del índice en dicho conjunto, se ejecuta una vez el mismo conjunto de instrucciones.
- El valor de la variable de control indice puede ser utilizado o no dentro del conjunto de instrucciones que forman parte del cuerpo del FOR , pero no debe ser modificado.
- El conjunto de valores que debe recorrer el índice puede ser vacío (N=0). En ese caso, el bloque de instrucciones no se ejecuta ninguna vez.
- Las estructuras FOR e IF pueden "anidarse", es decir, incluir una dentro de la otra, con la restricción de que la interior tiene que estar completamente contenida en uno de los bloques de instrucciones de la otra.
Sintaxis básica
<?php
for($a=0; $a<10; $a++){
//Instrucciones del ciclo
echo"Muestra Numero".$a."<br/>";
}
?>
Diagrama De Flujo
WHILE
El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como TRUE. El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.
Sintaxis básica
<?php
$a=0;
while($a<10){
//Instrucciones del ciclo
echo"Muestra Numero".$a."<br/>";
$a++;
}
?>
Diagrama De Flujo
DO - WHILE
Los bucles do-while son muy similares a los bucles while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar que al principio. La diferencia principal con los bucles while es que está garantizado que corra la primera iteración de un bucle do-while (la expresión verdadera sólo es verificada al final de la iteración), mientras que no necesariamente va a correr con un bucle while regular (la expresión verdadera es verificada al principio de cada iteración, si se evalúa como FALSE justo desde el comienzo, la ejecución del bucle terminaría inmediatamente).
Sintaxis básica
<?php
$i=0;
do{
//Instrucciones del ciclo
echo"Muestra Numero".$i."<br/>";
i++;
} while(i>0);
?>
Diagrama De Flujo
SWICH
La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch.
Sintaxis básica
<?php
$i=0;
swich($i){
case 0:
//Instrucciones en caso de que $i sea 0
echo"$i es igual a 0";
break;
case 1:
//Instrucciones en caso de que $i sea 1
echo"$i es igual a 1";
break;
case 2:
//Instrucciones en caso de que $i sea 2
echo"$i es igual a 2";
break;
}
?>
Diagrama De Flujo
Excelente articulo, muy bueno. Me da gusto que aun se publiquen este tipo de cosas didacticas, que incluso puedo compartir con mis colegas de la agencia diseño web .
ResponderBorrarsaludos