Justi 18 de febrero de 2008 a las 13.24
   Imprimir artículo
elWebmaster.com

Taller de PHP: Bucles (Parte I)


Casi siempre nuestros script van a realizar tareas repetitivas, por ejemplo, una funci贸n que muestra un listado de noticias, repite siempre la misma estructura, es decir, mostrar un t铆tulo, mostrar una imagen, mostrar el autor, lo 煤nico que cambia es el contenido, pero la tarea que realiza es siempre la misma.

Una forma f谩cil de realizar una secuencia de instrucciones en forma repetitiva es utilizando los BUCLES.

En PHP existen cuatro tipos de bucles: while, do while, for y foreach.

while

El while es un bucle que va a realizar una instrucci贸n o conjunto de instrucciones siempre y cuando la condici贸n ( lo vimos en la Clase 4 – Condicionales – ParteII ) se cumpla, es decir sea verdadera. La comprobaci贸n de la condici贸n la hace siempre al principio.

La estructura es la siguiente:

<code>
<?
while ( condicion ) {
instrucciones
}
?>
</code>

Explicando un poco la sintaxis del while, lo que va entre ( ) es la condici贸n, puede ser de cualquier tipo, ver si existe una variable, si una variable es menor a otra, si una variable es verdadera, etc. Y entre { } va la instrucci贸n o instrucciones.

Un ejemplo sencillo de este bucle puede ser mostrar una cuenta de 1 hasta 10.

<code>
<?
$c = 1;
while ( $c < 11) {
echo "$c <br>";
$c++;
}
?>
</code>

En la primer l铆nea definimos la variable $c con el valor 1, luego evaluamos la condici贸n si $c es menor a 11, como es 1, se ejecutan las instrucciones.

En la primer linea de la instrucci贸n mostramos en pantalla el valor de $c, en este caso 1, y luego en la segunda linea de instrucciones le sumamos uno a $c ( con $c++ se le suma un valor a la variable, es lo mismo a poner $c = $c + 1; ),

Al final de las instrucciones, el bucle vuelve a analizar la condici贸n, en este caso $c es igual a 2, (recordar que le acabamos de sumar 1), sigue siendo verdadera la condici贸n de que $c < 11, por lo que el bucle va a continuar con este proceso hasta que $c sea igual a 11.

do while

Este bucle no difiere mucho del anterior:

<code>
<?
do {
intrucciones
} while ( condicion)
?>
</code>

La 煤nica diferencia salvando la sintaxis es que primero ejecuta la instrucci贸n y luego se fija si cumple la condici贸n, en caso de ser verdadera la condici贸n, vuelve a ejecutar una vez mas y as铆.

La clase que viene vamos a ver los dos bucles que nos est谩n restando for y foreach

<< CLASE ANTERIOR  

CLASE SIGUIENTE >>


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (9)

  1. Guadalupe dice:

    muchas gracias! esperar茅 la pr贸xima clases con ganas.

  2. Diego Rodriguez dice:

    Muchas gracias por la iniciativa, queria saber si llegaran a explicar Classes ?

  3. Mijael dice:

    tengo una duda: “ ” hace referencia la codigo html o cumple alguna funcion para el bucle o que otra funcion cumple
    gracias x la respuesta

  4. ozxy dice:

    hola tengo una duda, lo que pasa es que utilice el codigo de while pero me aparecio en el internet ”
    Parse error: syntax error, unexpected T_VARIABLE, expecting ‘,’ or ‘;’ in /home/sistemas/public_html/logan/john2.php on line 5″ pense que era mi sintaxis pero la copie y la misma vaina me podrian decir por q sucede esto

  5. daury.rd dice:

    ozxy oye lo que pasa todo estos codigos que estan aqui tienen errores bueno la mayoria ya que JUSTI.. al escribir/ .. las comillas doble que el escribe .. en dreanwaver en notepad o cualquier otro editor que estes usando se representan de formar distintas.. entre otras expreciones que le pasa lo mismo // bueno ese fue mi caso // no se si ese sera el tuyo..

    Saludos desde republica dominicana

  6. Maximiliano dice:

    Hola copio el codigo en Dreamweaver CS3 y no me aparece nada…solo me aparece esto 鈥 $c++; } ?> me puden decir donde esta el error… saludos desde costa rica

  7. Justi dice:

    @maximiliano hola, asegurate de que estas copiandolo en dreanweaver en “vista de c贸digo” y no “vista de dise帽o”

  8. Serafin dice:

    Hola, me gustaria que me ayudes con algo.. tengo una query de sql con una clausuala where que me arroja una serie de registros y el while me los imprime, pues bien, lo que quiero es que si nada coincide con mi consulta me muestre un cartel del tipo “no hay registros”.
    Probe con un IF pero no obtuve resultados ya que me tomaba como si siempre existieran registros (me mostraba siempre lo del ELSE)

    Gracias!

  9. Chilango dice:

    Hola amigos de elwebmaster.com, acabo de encontrar su sitio, y me parece muy interesante el taller que publicaron, y me lo voy a leer todito. S茅 un poco de PHP y este taller me sirve para reforzar lo que ya se.

    Solo quer铆a decir que para aquellos que copian y pegan el c贸digo as铆 como est谩 aqu铆, tienen que modificarlo porque es muy seguro que les marcara error, por el tipo de comillas (Dreamweaver o Notepad++ cambian las comillas por unas comillas diferentes), borren las que trae el c贸digo de justi y tecleen ustedes las comillas para no tener error.

    Tambi茅n cabe aclarar (me imagino que m谩s adelante se explica) no es lo mismo poner comillas dobles que comillas simples, si le ponen comillas dobles imprimir谩 lo que contiene la variable $c (1, 2, 3, 4, etc.) pero si ponen comillas simples tendr谩n el nombre de la variable $c 10 veces.

    Voy al siguiente cap铆tulo鈥 馃榾

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder