|
Sentencias
de control
Las sentencias de control permiten
ejecutar bloque de códigos dependiendo de unas condiciones.
Para PHP el 0 es equivalente a Falso y cualquier otro número
es Verdadero.
if...else
La sentencia if...else permite
ejecutar un bloque de instrucciones si la condición es Verdadera
y otro bloque de instrucciones si ésta es Falsa. Es importante
tener en cuenta que la condición que evaluemos ha de estar encerrada
entre paréntesis (esto es aplicable a todas la sentencias
de control).
if (condición) {
Este bloque se ejecuta si la condición es VERDADERA
} else {
Este boque se ejecuta si la condición es FALSA
}
Existe una forma sencilla de usar
la sentencia IF cuando no tenemos que usar el else y solo tenemos
que ejecutar una línea de código.
if ($a > 4) echo "$a es mayor que 4";
Ahora realizaremos un ejemplo con
mas con IF el cual consistirá en un pequeño
juego de adivinanzas el cual necesitará de dos archivos adivina.htm
y adivina.php, en este ejemplo se utilizará un formulario,
lo cual aun no hemos visto, se usa solo para muestra, por el
momento no es muy importante conocer esa teoría sino un poco
mas adelante.
<HTML>
<BODY>
<FORM METHOD=GET ACTION="adivina.php">
En que numero del 1 al 10 estoy pensando?
<INPUT NAME="adivina" TYPE="Text">
<BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
<HTML>
<HEAD></HEAD>
<BODY>
<?php
srand((double)microtime()*1000000);
$Numero = rand(1,10);
if ($adivina > $Numero) {
echo "Fue muy grande"; echo "<BR>Yo pensé el
número $Numero. Lo siento no ";
}
if ($adivina < $Numero) {
echo "Fue muy pequeño"; echo "<BR>Yo pensé el
número $Numero. Lo siento no ";
}
?>
GANASTE
</BODY>
</HTML>
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 lógicos.
<?php
if ($nombre == ""){
echo "Tú no tienes nombre";
} elseif (($nombre=="eva") OR ($nombre=="Eva"))
{
echo "
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 cuál evalúa y compara cada
expresión de la sentencia case con la expresión que evaluamos,
si llegamos al final de la lista de case y encuentra una condición
Verdadera , ejecuta el código de bloque que haya en default.
Si encontramos una condición 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 "Sábado":
echo "Hoy es Sábado";
break;
case "Domingo":
echo "Hoy es Domingo";
break;
default:
echo "Esa cadena no corresponde a ningún día de la semana";
}
?>
while
La sentencia while ejecuta un bloque
de código mientras se cumpla una determinada condición.
<?php
$num = 1;
while ($num < 5) {
echo $num;
$num++
}
?>
Podemos romper un ciclo while utilizando
la sentencia break.
<?php
$num = 1;
while ($num < 5) {
echo $num;
if ($num == 3){
echo "Aquí nos salimos \n";
break
}
$num++
}
?>
do...while
Esta sentencia es similar a while,
salvo que con esta sentencia primero ejecutamos el bloque de
código y después se evalúa la condición, por lo que el bloque
de código se ejecuta siempre al menos una vez.
<?php
$num = 1;
do {
echo $num;
if ($num == 3){
echo "Aquí nos salimos \n";
break
}
$num++
} while ($num < 5);
?>
for
El ciclo for no es estrictamente
necesario, cualquier ciclo for puede ser sustituido fácilmente
por otro while. Sin embargo, el ciclo for resulta muy útil cuando
debemos ejecutar un bloque de código a condición de que una
variable se encuentre entre un valor mínimo y otro máximo. El
ciclo for también se puede romper mediante la sentencia break.
<?php
for ($num = 1; Snum <=5; $num++){
echo $num;
if ($num == 3){
echo "Aquí nos salimos \n";
break
}
}
?>
A continuación muestro las 4 formas en que se puede usar el
ciclo for.
/* ejemplo 1 */
for ($i = 1; $i <= 10; $i++) {
print $i;
}
/* ejemplo 2 */
for ($i = 1;;$i++) {
if ($i > 10) {
break;
}
}
print $i;
}
/* ejemplo 3 */
$i = 1;
for (;;) {
if ($i > 10) {
break;
}
print $i;
$i++;
}
/* ejemplo 4 */
for ($i = 1; $i <= 10; print $i, $i++) ;
Hay que realizar los siguientes programas
con ciclos.
· Imprima los números del 1 al 100
for ($i = 1; $i <= 100; print $i."<br>", $i++)
;
· Imprima los números pares del 1 al 100
for ($i = 2; $i <= 100; print $i."<br>", $i=$i+2) ;
· Un programa que le des un número y obtenga
su tabla de multiplicar (tablas.php)
<?php
$numero=4;
for ($i=1; $i<=10; $i++)
{
echo $i." x ".$numero." = ".$i*$numero."<br>";
}
?>
|