Las sentencias de control permiten ejecutar bloque de codigos
dependiendo de unas condiciones. Para PHP el 0 es equivalente a Falso y
cualquier otro numero es Verdadero.
IF...ELSE
La sentencia IF...ELSE permite ejecutar un bloque de
instrucciones si la condicion es Verdadera y otro bloque de
instrucciones si hasta es Falsa. Es importante tener en cuenta que
la condicion que evaluemos ha de estar encerrada entre parentesis (esto
es aplicable a todas la sentencias de control).
if (condicion) {
Este bloque se ejecuta si la condicion es VERDADERA
} else {
Este boque se ejecuta si la condicion es FALSA
}
Existe una forma sencilla de usar la sentencia IF cuando no tenemos que
usar el ELSE y solo tenenemos que ejecutar una linea de codigo.
if ($a > 4) echo "$a es mayor que 4";
IF...ELSEIF...ELSE
La sentencia IF...ELSEIF...ELSE permite ejecutar varias condiciones en
cascada. Para este caso veremos un ejemplo, en el que utilizaremos los
operadores logicos.
<?php
if ($nombre == ""){
echo " no tienes nombre";
} elseif (($nombre=="eva") OR ($nombre=="Eva")) {
echo "Tu nombre es EVA";
} else {
echo "Tu nombre es " . $nombre;
}
SWITCH...CASE...DEFAULT
Una alternativa a IF...ELSEIF...ELSE, es la sentencia SWITCH, la
cual evalua y compara cada expresion de la sentencia CASE con la
expresion que evaluamos, si llegamos al final de la lista de CASE y
encuentra una condicion Verdadera , ejecuta el codigo de bloque que haya
en DEFAULT. Si encontramos una condicion verdadera debemos ejecutar un
BREAK para que la sentencia SWITCH no siga buscando en la lista de CASE.
Veamos un ejemplo.
<?php
switch ($dia) {
case "Lunes":
echo
"Hoy es Lunes";
break;
case "Martes":
echo
"Hoy es Martes";
break;
case "Miercoles":
echo
"Hoy es Miercoles";
break;
case "Jueves":
echo
"Hoy es Jueves";
break;
case "Viernes":
echo
"Hoy es Viernes";
break;
case "Sabado":
echo
"Hoy es Sábado";
break;
case "Domingo":
echo
"Hoy es Domingo";
break;
default:
echo
"Esa cadena no corresponde a ningun dia de la semana";
}
?>
WHILE
La sentencia WHILE ejecuta un bloque de codigo mientras se cumpla una
determinada condicion.
<?php
$num = 1;
while ($num < 5) {
echo $num;
$num++
}
?>
Podemos romper un bucle WHILE utilizando la sentencia BREAK.
<?php
$num = 1;
while ($num < 5) {
echo $num;
if ($num == 3){
echo "Aqui nos salimos
\n";
break
}
$num++
}
?>
DO...WHILE
Esta sentencia es similar a WHILE, salvo que con esta sentencia primero
ejecutamos el bloque de codigo y despues se evalua la condicion, por lo
que el bloque de codigo se ejecuta siempre al menos una vez.
<?php
$num = 1;
do {
echo $num;
if ($num == 3){
echo "aqui nos salimos
\n";
break
}
$num++
} while ($num < 5);
?>
FOR
El bucle FOR no es estrictamente necesario, cualquier bucle FOR puede
ser sustituido facilmente por otro WHILE. Sin embargo, el bucle FOR resulta
muy util cuando debemos ejecutar un bloque de codigo a condicion de que
una variable se encuentre entre un valor minimo y otro maximo. El bucle
FOR tambien se puede romper mediante la sentencia BREAK.
<?php
for ($num = 1; Snum <=5; $num++){
echo $num;
if ($num == 3){
echo "Aqui nos salimos
\n";
break
}
}
?>
|