Los ciclos en las estructuras de control de PHP sirven para hacer tareas repetitivas que se requieren automatizar. Un ejemplo muy común es para crear una tabla HTML a partir de datos contenidos en una tabla SQL. De acuerdo con la documentación oficial, el ciclo for es de los más complejos y su sintaxis es similar a C
for
for (expresión 1, expresión 2, expresión 3) sentencia
Donde la expresión 1 se evalúa y se ejecuta siempre por primera vez. Luego se evalúa la expresión 2 y en caso de resultar cierta, se ejecuta la sentencia. Si el resultado de la ejecución es verdadera, entonces se ejecuta la expresión 3 y continúa el bucle. Veamos un ejemplo:
//ciclo for
for($i=1; $i <= 10; $i++) {
echo $i." - ";
}
//esto da como salida: 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
No abundaremos más en este tipo debido a que no lo usaremos mucho durante el curso.
while
while(expresión)
sentencia
Los bucles while son los más sencillos en PHP, básicamente va a ejecutar la sentencia del bloque siempre que la expresión sea verdadera. Este ciclo lo vamos a utilizar sobre todo para recorrer objetos resultados de consultas a bases de datos. Vamos a ver un ejemplo donde esté consultando a una tabla SQL
//creamos una instancia de la clase MySQLi - servidor, user, pass, db
$sql = new MySQLi("localhost","phpalbum","contraseña","phpalbum");
//generamos la consulta SQL
$res = $sql<Query("SELECT * FROM test");
//expresión: mientras el resultado de $res-<fetch_object() se pueda asignar a $k (y por lo tanto sea verdadero)
while($k = $res--->fetch_object()) {
//mostramos el contenido del objeto $k
print_r($k);
}
//cerramos la conexión a la base de datos.
$sql->close();
Al ejecutar ese código, nos regresaría algo como lo siguiente:
Listo, durante el desarrollo del curso iremos viendo más ejemplos.
foreach
El constructor foreach es la forma más sencilla de recorrer el contenido de un array o un objeto. Es una forma simplificada del uso de for.
<?php
//creamos un array
$patos = array(
'uno' => 'Hugo',
'dos' => 'Paco',
'tres' => 'Luis'
);
//recorremos el contenido del array, con foreach:
foreach($patos AS $indice => $valor) {
echo "El pato $indice se llama $valorn";
}
/*
//resultará:
El pato uno se llama Hugo
El pato dos se llama Paco
El pato tres se llama Luis
*/
En las siguientes lecciones veremos más el uso de while y foreach. Por supuesto hay otras estructuras de control y diferentes sintaxis, pero las que mencionamos son las más comunes. Esta entrada es parte del curso Crear un álbum fotográfico con PHP.