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 |








Martes, 19 de Febrero de 2008 a las 12.40
muchas gracias! esperar茅 la pr贸xima clases con ganas.
Domingo, 24 de Febrero de 2008 a las 15.37
Muchas gracias por la iniciativa, queria saber si llegaran a explicar Classes ?
Martes, 8 de Julio de 2008 a las 19.22
tengo una duda: “
” hace referencia la codigo html o cumple alguna funcion para el bucle o que otra funcion cumplegracias x la respuesta
Domingo, 28 de Septiembre de 2008 a las 15.45
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
S谩bado, 15 de Noviembre de 2008 a las 20.40
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
Viernes, 5 de Junio de 2009 a las 11.50
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
Jueves, 11 de Junio de 2009 a las 11.55
@maximiliano hola, asegurate de que estas copiandolo en dreanweaver en “vista de c贸digo” y no “vista de dise帽o”
Mi茅rcoles, 24 de Junio de 2009 a las 13.34
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!
Martes, 29 de Junio de 2010 a las 01.38
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鈥