Los bucles en PHP, al igual que en cualquier otro lenguaje de programación, son muy útiles e importantes. Los bucles permiten a los desarrolladores informáticos realizar una serie de acciones repetitivas. Son realmente útiles para operaciones donde hay que repetir N veces un tipo de acción en concreto.
En los distintos lenguajes de programación, utilizamos una serie de estructuras de control que nos permiten ejecutar un bloque de código repetidamente, basándose en una condición o un conjunto de elementos a recorrer. Un bucle te permite ejecutar el mismo bloque de código una y otra vez, ahorrándote trabajo y manteniendo tu código limpio. En esencia, un bucle consta de una condición de control y un bloque de código que se ejecuta repetidamente mientras se cumpla esa condición.
Aquí es donde los bucles se vuelven esenciales. En este artículo, nos enfocaremos en como trabajar con los bucles for en PHP, una de las estructuras más usadas en programación. Te explicaré de manera simple cómo funciona y te mostraré ejemplos numéricos y con arrays.
¿Qué es un Bucle y por qué se usa?
Un bucle es una estructura que permite ejecutar un bloque de código varias veces, hasta que se cumpla una condición específica. ¿Por qué es útil? Imaginemos que se necesita mostrar los números del 1 al 10 en pantalla. Esto no solo es tedioso, sino que si quisiéramos mostrar hasta el número 1000 llevaría mucho tiempo escribirlo. Aquí es donde entra en juego el bucle, permitiéndonos repetir la misma acción de manera eficiente.
Tipos de Bucles en PHP
Existen básicamente 4 tipos de bucles en PHP: while, do-while, for y foreach. En PHP existen 4 tipos de bucles.
Lea también: Obligaciones de la Contabilidad Electrónica
PHP también proporciona otro tipo de bucles, como el bucle while y el bucle do-while, que pueden ser útiles en diferentes situaciones, en función de cómo queramos manejar las condiciones a la hora de mostrar los datos y el tipo de datos que recibamos.
Bucle While
El bucle while ejecuta repeticiones de instrucciones un número indeterminado de veces. El bucle while es muy sencillo de entender. Lo que hace este bucle es: Mientras se cumpla una condición dada, se ejecutarán X comandos. Este es el bucle más utilizado para mostrar registros procedentes de una base de datos, ya que mientras haya registros que mostrar, irán apareciendo en pantalla. Cuando no haya ningún registro que mostrar, finalizará el bucle.
La sintaxis es la siguiente:
<? php
while (condición) {
sentencias;
}
?>
En el siguiente ejemplo, lo que haremos será: crear una variable llamada miContador, e irle incrementando el valor en +1 hasta que valga 10. Cuando la variable valga 10, el programa finalizará:
Lea también: Tipos de Contabilidad
<? php
$miContador = 0;
while ($miContador < 10) {
print_r("La variable miContador vale: " . $miContador . "\n");
$miContador++;
}
?>
La salida del código anterior es la siguiente:
La variable miContador vale: 1
La variable miContador vale: 2
La variable miContador vale: 3
La variable miContador vale: 4
La variable miContador vale: 5
La variable miContador vale: 6
La variable miContador vale: 7
La variable miContador vale: 8
La variable miContador vale: 9
La variable miContador vale: 10
Bucle Do-While
El bucle do-while lo que hace es: Ejecutar X comandos mientras que se cumpla una condición dada. La diferencia con el while es que con do-while se ejecuta al menos una vez la parte del "do".
La sintaxis es la siguiente:
Lea también: Definición del Derecho Fiscal
<? php
do {
sentencias;
} while (condición);
?>
En el siguiente ejemplo, tenemos un array de colores llamado $miArray y un contador llamado $contador. Mientras que la variable $contador sea menor que el número de elementos del array, el programa irá mostrando un mensaje mostrando los elementos del array. La variable contador se incrementa en +1 en cada bucle:
<? php
$miArray = Array("Verde","Rojo","Azul","Negro","Blanco");
$contador = 0;
do {
echo ($contador+1) . ".- ". $miArray[$contador] . "\n";
$contador++;
} while ($contador < count($miArray));
?>
La ejecución del script php muestra el siguiente resultado:
1.- Verde
2.- Rojo
3.- Azul
4.- Negro
5.- Blanco
Bucle For
El bucle for es un poco diferente al while visto anteriormente. Lo que hace un bucle for es, para cada uno de los valores ó elementos que le pasemos al bucle, ejecutaremos N comandos. El bucle for se utiliza cuando se conoce el número exacto de iteraciones que se deben realizar. En este artículo, nos enfocaremos en como trabajar con los bucles for en PHP, una de las estructuras más usadas en programación. Te explicaré de manera simple cómo funciona y te mostraré ejemplos numéricos y con arrays.
La sintaxis del bucle for en PHP es:
<? php
for ($variable=valor_inicial; condición; incremento) {
sentencias;
}
?>
Para comprenderlo mejor vamos a analizar cada una de sus tres partes, ubicadas en la declaración: Inicialización: define el punto de partida. Condición: evalúa si se debe continuar el bucle. Incremento: Aumentamos $i en 1 después de cada iteración. La sección de inicialización ($i = 1) se ejecuta una vez al principio del bucle y se utiliza para inicializar una variable de control. La sección de condición ($i <= 5) se verifica antes de cada iteración y, si se cumple, el bucle continúa ejecutándose.
Recorrer un Array con For
Un uso común de los bucles for en PHP es para recorrer arrays. Imaginemos que tenemos una lista de países y vamos a mostrarlos uno por uno. Para recorrer el array en PHP simplemente necesitaremos de una estructura for, la cual vaya iterando por los elementos del array. La idea es iterar uno a uno hasta que hayamos recorrido todos los elementos. Para saber cuantos elementos tiene el array utilizamos la función count().
En el siguiente ejemplo, recorreremos todos los elementos de un array utilizando el bucle for. El bucle finaliza cuando la variable $contador = longitud del array.
<? php
$miArray = Array("Círculo","Triángulo","Cuadrado","Esfera","Cubo");
for ($contador = 0; $contador < count($miArray); $contador++) {
echo ($contador+1) . ".- ". $miArray[$contador] . "\n";
}
?>
La salida de la ejecución del código anterior es la siguiente:
1.- Círculo
2.- Triángulo
3.- Cuadrado
4.- Esfera
5.- Cubo
Ahora solo nos queda acceder al contenido de los elementos del array en cada iteración. En ella podemos ver que utilizamos el operador corchete para poder acceder a los elementos del array. La sentencia echo nos permite volcar el contenido de la lista a pantalla.
Bucle Foreach
El bucle foreach se suele usar generalmente para recorrer los elementos de un array de forma rápida y sencilla. En el caso concreto del lenguaje de programación PHP, tanto el bucle for como el bucle foreach son herramientas útiles para recorrer y manipular datos de manera eficiente.
Tenemos dos formas posibles de utilizarlo:
Sintaxis 1:
<? php
foreach ($array as $value) {
sentencias;
}
?>
Sintaxis 2:
<? php
foreach ($array as $key => $value) {
sentencias;
}
?>
En el siguiente ejemplo (Sintaxis 1), hay un array el cual recorreremos y mostraremos el valor de cada uno de los elementos. En este caso, los valores son el nombre de marcas de motocicletas:
<? php
$miArray = Array("Yamaha","Vespa","Ducati","Kawasaki","KTM","Suzuki");
foreach ($miArray as $value) {
echo $value . "\n";
}
?>
Aquí la salida del código anterior:
Yamaha
Vespa
Ducati
Kawasaki
KTM
Suzuki
Con la otra forma de usarlo (Sintaxis 2) y con el mismo array, imprimiremos tanto el key como el valor de cada uno de los elementos del array:
<? php
$miArray = Array("Yamaha","Vespa","Ducati","Kawasaki","KTM","Suzuki");
foreach ($miArray as $key => $value) {
echo ($key+1) . ".- ". $value . "\n";
}
?>
Aquí la salida del código anterior:
1.- Yamaha
2.- Vespa
3.- Ducati
4.- Kawasaki
5.- KTM
6.- Suzuki
Arrays Multidimensionales y Bucles Anidados
Al principio de la lección dije que se podía añadir dentro de un array cualquier elemento, incluso... podríamos rizar el rizo insertando... ¡Otro array! Los bucles for anidados son bucles for dentro de otro bucle for. La complejidad puede aumentar mucho en caso de hacer muchas anidaciones, aunque lo normal es no pasar de 2-3 bucles anidados.
Un array es un mapa ordenado donde los datos tendrán una clave (key) pero muchos valores (values). Las claves (key) pueden ser definidas por nosotros.
Sintaxis de Bucles For Anidados:
<? php
for ($variable=valor_inicial; condición; incremento) {
for ($variable=valor_inicial; condición; incremento) {
sentencias;
}
}
?>
En el siguiente ejemplo, tenemos dos variables i y j. Ambas variables toman valores desde 1 hasta 3. Lo que hace este bucle anidado es: asigna el primer valor a i (1) y recorre todos los demás valores de j (1,2,3). Asigna el segundo valor de i (2), y recorre todos los valores de j (1,2,3) y asigna el tercer valor a i (3) y recorre todos los valores de j (1,2,3).
<? php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
echo $i . " " . $j . "\n";
}
}
?>
Aquí la salida del código anterior:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
Representa los datos usando un array de tres dimensiones con índices numéricos donde el primer índice indica el país, el segundo el equipo y el tercero la posición del jugador. Presenta la información del país, equipo, posiciones y jugadores de cada equipo usando un bucle for.
<?php
$equipo[0][0][0] = "Fran";
$equipo[0][0][1] = "Pepe";
$equipo[0][0][2] = "Luis";
$equipo[0][0][3] = "Raul";
$equipo[0][1][0] = "Tiger";
$equipo[0][1][1] = "Mourin";
$equipo[0][1][2] = "Katz";
$equipo[0][1][3] = "Alberto";
$equipo[1][0][0] = "Suarez";
$equipo[1][0][1] = "Koltz";
$equipo[1][0][2] = "Fernadez";
$equipo[1][0][3] = "Ramirez";
$equipo[2][0][0] = "Higuita";
$equipo[2][0][1] = "Mel";
$equipo[2][0][2] = "Rubens";
$equipo[2][0][3] = "Messi";
$equipo[2][1][0] = "Kostenmeiner";
$equipo[2][1][1] = "Lenkins";
$equipo[2][1][2] = "Marash";
$equipo[2][1][3] = "Juanes";
