Índice de contenidos
Instalación en Windows
Instalación en Ubuntu
Servidores seguros
Páginas dinámicas
Sintaxis básica
Operaciones
Arrays
Formatos de presentación
Operadores
Bucles
Extraer y ord. información
Funciones
Ficheros externos
Imágenes dinámicas
Gestión de directorios
Cookies y sesiones
Clases y objetos
Ficheros en formato PDF
Bases de datos MySQL
PHP y XML
PDO - Bases SQLite / MySQL
MySQL a traves de misqli
Algo de JavaScript y AJAXEl bucle for
Se trata de una nueva forma –de uso bastante habitual– que permite establecer un bucle que se repetirá mientras una variable numérica se mantenga dentro de intervalo –especificado en la sintaxis del propio bucle– indicándose también en la propia instrucción el criterio de modificación de esa variable en cada ejecución del bucle. La sintaxis es la siguiente:
for ( desde ; hasta ; incremento ){El parámetro desde permite asignar un valor inicial a una variable ($var=num) que hará funciones de controladora de iteraciones. El parámetro hasta establece la condición que limita el valor máximo que puede alcanzar la variable de control y el parámetro incremento (con una sintaxis del tipo $variable++; $variable--; ++$variable; --$variable; $variable +=n o $variable -=n establece los incrementos o decrementos de la variable controladora en cada iteración del bucle.
Las instrucciones contenidas entre { } serán ejecutadas cada vez que se reitere el bucle.
<?php for ($i = 1; $i <= 10; $i++) { print $i."<br>"; } ?>
Variantes del bucle for
El bucle for permite algunas variantes respecto a su forma más general. Son estas:
for ( desde ; ; incremento ){En este caso se omite el valor del parámetro hasta (observa que no se omite el separador de parámetros (;) con lo que en realidad se está asignando a hasta el valor NUL.
Cuando se utiliza esta sintaxis, el bucle se repetiría de forma indefinida (la variable podría tomar cero como valor, pero cero es distinto de NUL) salvo que -tal como puedes ver en el ejemplo- se escriba en las instrucciones un operador condicional con una opción de ruptura del bucle -el famoso break que ya hemos visto al estudiar la instrucción while y otras anteriores–.
<?php for ($i = 1;;$i++) { if ($i > 10) { break; } print $i."<br>"; } ?>
En este caso no se inserta ningún parámetro pero si se escriben los ; delimitadores de los mismos. Si observas el ejemplo verás que el control se realiza fuera del for. El valor de la variable contador se asigna fuera del bucle, los incrementos de esa variable están escritos en las líneas de instrucciones y llevan un operador condicional con la función break para permitir la salida.
<?php $i = 1; for (;;) { if ($i > 10) { break; } print $i."<br>"; $i++; } ?>
Esta nueva variante de for permite insertar instrucciones a través del tercer parámetro de la función. Si insertamos como tercer parámetro un conjunto de instrucciones, separadas por comas, se ejecutarán de igual forma que si estuvieran contenidas entre { y }
En este caso, el modificador de la variable de control (incremento) se incluye como una instrucción más –separada por una coma– de las contenidas en ese tercer parámetro de la función.
<?php for ($i = 1; $i <= 10; print $i."<br>", $i++) ; ?>
Esta sintaxis es alternativa a la primera de las descritas. Sustituye la { por dos puntos (:) y la } por endfor.
<?php for($i = 1; $i <=10;$i++) : echo $i,"<br>"; endfor; ?>
<?php for ($i = 1; $i <= 10;$i++):?> <H1>Esto se repetirá 10 veces</H1> <? endfor; ?>
Como puedes observar en este último ejemplo también es aplicable aquí la sintaxis de los dos sripts PHP. El primero contiene las instrucciones del bucle y el segundo señala el final del mismo. Entre ambos scripts se escribe el código HTML