Blog
Bucle for (bucle para)
- Publicado por: leo
- Categoría: Curso principiante PHP
Bienvenido a una nueva sección del curso básico para aprender PHP. Hoy conoceremos otra estructura básica denominada bucle for o bucle para (si lo traducimos al español). Esta estructura, a diferencia de las que vimos anteriormente, es capaz de ejecutar un bloque de código las veces que queramos, deseemos, o necesitemos. El bucle for, ejecutará la acción que nosotros queramos hasta que se hayan completado todas y cada una de sus iteraciones. En la misma estructura del bucle for, nosotros vamos a declarar la variable que vamos a trabajar, le colocaremos un límite a las iteraciones, y finalmente la vamos a aumentar o decrementar (esto depende de nosotros, y del uso que le estemos dando al bucle). Sigue leyendo la lección para que comprendas mejor acerca del bucle for.
¿Qué es el bucle for?
Los bucles for o para, son bucles simples que nos ayudan a iterar sobre una variable iterable mediante el uso de un índice. Hay dos tipos de bucles for: un bucle simple (estilo C) bucle for, y un bucle foreach. Normalmente el ciclo o bucle for se usa cuando sabes de antemano cuántas veces debe ejecutarse el script.
Bucle for (bucle para)
Los bucles for son muy útiles cuando necesitamos iterar sobre una matriz y referirnos al miembro de la matriz usando un índice cambiante. Por ejemplo, digamos que tenemos una lista de números impares. Para imprimirlos, necesitamos referirnos a cada elemento individualmente. El código que escribimos en el ciclo for puede usar el índice i, que cambia en cada iteración del ciclo for. Aquí te muestro el ejemplo:
$numeros_impares = [1,3,5,7,9]; for ($i = 0; $i < count($numeros_impares); $i ++) { $numeros_impares = $numeros_impares[$i]; echo $numeros_impares . "\n"; }
Lo anterior es un ejemplo de un bucle for. Los bucle for son muy similares a los bucles while, que veremos en el siguiente capítulo, pero más convenientes de usar en muchos casos. También son los bucles más complejos en PHP, que toman prestada la sintaxis y funcionan en gran medida desde el lenguaje de programación C.
Veamos más de cerca por qué funciona así. Entre paréntesis, el bucle for toma tres expresiones separadas por punto y coma. La primera expresión sólo se ejecuta una vez, cuando el bucle se inicializa. En este caso, se crea $i y se le da un valor de cero.
La siguiente expresión es una condición que se comprueba cada vez que el bucle se desplaza. Una vez que la condición es falsa, el bucle dejará de ejecutarse. Al igual que un bucle while, si se encuentra que la condición es falsa en la primera ejecución, ninguna de las sentencias dentro del bucle se ejecutará ni una sola vez.
La expresión final se ejecutará cada vez que el bucle itinerante después de que se hayan anidado las sentencias anidadas. Ten en cuenta que no hay punto y coma después de la expresión final.
Veamos mejor como es dividida la primera línea del bucle for
La primera línea del bucle for es definida en tres partes:
- El enunciado de inicialización: en nuestro caso, inicializamos la variable del iterador $i a 0.
- La declaración de condición: esta declaración se evalúa en cada ciclo. El ciclo se detiene cuando esta condición no se cumple. Esto sucederá cuando la variable del iterador $i sea más grande que la longitud de la matriz.
- La instrucción de incremento/decremento: esta instrucción se ejecuta en cada iteración para aumentar la variable de índice en la cantidad necesaria. Por lo general, aumentaremos $i en 1. También hay dos maneras más cortas de aumentar una variable en 1. Podemos usar $i+=1 o también podríamos utilizar la expresión $i++ que es la mas utilizada.
Bucle foreach
Este nuevo bucle fue introducido en la versión 4 de PHP. Se utiliza exclusivamente para el looping a través de los elementos de una matriz, lo que le permite imprimir fácilmente o realizar operaciones sobre los elementos dentro de una matriz. Entonces podemos decir que el bucle foreach solo funciona en matrices, y se utiliza para recorrer cada par clave / valor en una matriz.
El ciclo foreach itera sobre un elemento iterable, como una matriz o un objeto, proporcionando a los miembros en una variable específica, uno a la vez.
Por ejemplo, supongamos que queremos crear una lista de todos los números impares entre 1 y 10, e imprimirlos uno por uno, como en el ejemplo anterior. Esta vez, usaremos la declaración foreach en lugar de un bucle for regular con una variable de iterador. En lugar de usar la variable del iterador como un índice de la matriz, obtenemos el elemento de la matriz directamente en la variable $numeros_impares. Aquí te muestro un ejemplo del ciclo foreach:
$numeros_impares = [1,3,5,7,9]; foreach ($numeros_impares as $numeros_impares) { echo $numeros_impares . "\n"; }
Al iterar sobre matrices con claves, podemos usar la siguiente sintaxis que te muestro aquí abajo:
$numeros_de_telefono = [ "Alex" => "415-235-8573", "Jessica" => "415-492-4856", ]; foreach ($numeros_de_telefono as $nombre => $numeros) { echo "El número de teléfono de " . $nombre . "es: " . $number. "\n"; }
Ejercicio propuesto
Debes hacer un programa que imprima todos los números albergados dentro de una matriz; que vayan mostrándose uno por uno, usando la secuencia de caracteres de nueva línea ( \n ) para separar los resultados, y que vayan mostrándose en una nueva línea cada uno de ellos.
<?php $numeros_pares = [2,4,6,8,10,12,14,16,18,20]; ?>
Solución al ejercicio propuesto
<?php $numerps_pares = [2,4,6,8,10,12,14,16,18,20]; foreach ($numeros_pares as $numeros_pares) { echo $numeros_pares . "\n"; } ?>
Salida en pantalla
2 4 6 8 10 12 14 16 18 20
Felicidades has aprendido a utilizar el bucle o ciclo for y el foreach, además de varias utilidades que tienen y sus distintas funciones, también vimos para que caso se adecuan mejor cada uno de ellos.
¿Quieres saber que otros bucles o ciclos puedes utilizar en PHP? Entra a nuestro curso gratuito y aprenderás mucho más.:
[…] Bucle for (bucle para) (AprenderPHP – Curso básico) […]