Pecesama.Net [developing the future]
CICESE, Volcán de Colima, Iglesia de Cihuatlán, Ensenada y Manzanillo
 

 

Temas:

  Inicio PHP
  Introducción
  Lenguaje PHP
  Tipos de datos
  Control
  Arreglos
  Formularios
  Archivos
  Bases de datos
  PHP y MySQL
  PHP y ODBC
  Envió de email
  Attachments
  Sesiones
  Servicios Web

Donar:

Extras:

  Licencia

 

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.

adivina.htm

<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>

adivina.php

<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)

tablas.php

<?php

   $numero=4;

   for ($i=1; $i<=10; $i++)

   {

       echo $i." x ".$numero." = ".$i*$numero."<br>";

   }

?>

 

(cc) 2002-2006 Pedro Santana. Some Rights Reserved.
Visitante 1182746 a partir del 17/Oct/2002

Sitio orgullosamente mexicano