12 - Estructuras repetitivas o bucles (FOR Y FOREACH) en PHP - Curso PHP 8 desde cero

Coders Free
12 Jun 202110:16

Summary

TLDREste capítulo explica dos estructuras de bucles en algoritmos: 'for' y 'for each'. El bucle 'for' se presenta como una alternativa elegante al 'while', permitiendo definir la variable de control dentro del bucle y especificar inicialización, condición y actualización en una sola línea. Se ilustra con un ejemplo de imprimiendo asteriscos en función de la fila. El bucle 'for each' se relaciona con arrays, permitiendo recorrer y manipular elementos sin necesidad de usar índices, demostrando con un ejemplo de imprimir nombres almacenados en un array. Finalmente, se menciona cómo interrumpir un bucle bajo ciertas condiciones.

Takeaways

  • 🔁 Los bucles 'for' y 'for each' son estructuras de control utilizadas para repetir bloques de código.
  • 📝 El bucle 'for' se parece al bucle 'while', pero permite una sintaxis más elegante para iterar.
  • 🔢 En un bucle 'for', se define una variable de iteración dentro del bucle y se especifica su incremento en cada iteración.
  • 🎯 El bucle 'for' se usa para ejecutar un código un número específico de veces, definido por una condición.
  • 🌟 Se puede utilizar un bucle 'for' anidado para imprimir un patrón de asteriscos donde la cantidad de asteriscos en cada fila coincide con el número de la fila.
  • 📑 Los bucles 'for each' son útiles para recorrer arrays y objetos, imprimiendo o manipulando sus elementos sin necesidad de usar índices.
  • 📚 Los arrays permiten almacenar múltiples datos en una sola variable, y se pueden acceder a sus elementos por medio de índices.
  • 🔑 En un bucle 'for each', se puede acceder a los valores de un array sin necesidad de conocer sus índices, facilitando la iteración sobre colecciones de datos.
  • 🖋️ Para imprimir en varias líneas en HTML, se utiliza el salto de línea ' ' fuera del bucle que imprime los asteriscos.
  • 🔍 Si se requiere conocer el índice de un elemento en un bucle 'for each', se puede definir una variable adicional para almacenar este valor.

Q & A

  • ¿Qué son las estructuras algorítmicas repetitivas mencionadas en el guión?

    -Las estructuras algorítmicas repetitivas mencionadas son el bucle 'for' y el bucle 'forEach', que se utilizan para ejecutar bloques de código múltiples veces.

  • ¿Cómo se diferencia el bucle 'for' del bucle 'while' según el guión?

    -El bucle 'for' se diferencia del bucle 'while' en que permite escribir la sentencia de manera más elegante y permite definir la variable de control dentro del bucle mismo.

  • ¿Qué componentes son necesarios para construir un bucle 'for' según el guión?

    -Para construir un bucle 'for' se necesitan: la inicialización de la variable de control, la condición de continuidad del bucle, el incremento de la variable y el bloque de código a ejecutar.

  • ¿Qué es lo que hace diferente al bucle 'for' al poder definir la variable de control dentro del bucle?

    -Al definir la variable de control dentro del bucle 'for', se encapsula la lógica de control del bucle, facilitando la lectura y mantenimiento del código.

  • ¿Cuál es la utilidad de un bucle anidado según el ejemplo del guión?

    -La utilidad de un bucle anidado es poder ejecutar un bloque de código un número específico de veces, dependiendo de la iteración actual de un bucle externo, como se muestra en el ejemplo de imprimir asteriscos en filas.

  • ¿Cómo se logra imprimir un patrón de asteriscos en función de las filas usando un bucle 'for' según el guión?

    -Se utiliza un bucle 'for' externo para iterar sobre las filas y un bucle 'for' interno para iterar y imprimir un asterisco por cada iteración, colocando un salto de línea después de cada fila.

  • ¿Qué son los arrays y cómo se relacionan con el bucle 'forEach'?

    -Los arrays son estructuras de datos que almacenan múltiples valores en una sola variable. El bucle 'forEach' se relaciona con los arrays porque permite recorrer y manipular cada elemento del array de manera sencilla.

  • ¿Cómo se imprime cada elemento de un array utilizando el bucle 'forEach' según el guión?

    -Mediante el bucle 'forEach', se pasa una función que recibe cada elemento del array como argumento y se imprime directamente, sin necesidad de utilizar índices.

  • ¿Cómo se puede obtener el índice de un elemento en un array durante un bucle 'forEach' si es necesario?

    -Para obtener el índice de un elemento en un bucle 'forEach', se puede declarar una segunda variable que almacenará el índice del elemento actual en cada iteración.

  • ¿Qué se puede hacer si necesitamos interrumpir el flujo de un bucle antes de que termine su ejecución según el guión?

    -Si se necesita interrumpir el flujo de un bucle antes de que termine, se pueden utilizar sentencias de control como 'break' o 'return' para salir del bucle en caso de cumplirse una condición específica.

Outlines

00:00

🔁 Introducción a los Bucles For y For Each

En este primer párrafo, se aborda la introducción a dos estructuras de control de bucles: el bucle 'for' y el bucle 'for each'. El bucle 'for' se compara con el bucle 'while', destacando que, aunque funcionan de manera similar, el 'for' permite una sintaxis más elegante. Se explica que en un bucle 'for', se define una variable de control dentro del bucle y se pasa como primer parámetro. Luego, se establece la condición de continuación del bucle y el incremento de la variable. Se ejemplifica con una operación de potenciación y se propone un ejercicio para imprimir una pirámide de asteriscos, utilizando un bucle 'for' anidado para controlar la cantidad de asteriscos por fila. Finalmente, se menciona la necesidad de insertar un salto de línea para que los asteriscos se muestren correctamente en varias filas.

05:01

📚 Utilización de Bucles For y For Each con Arrays

En el segundo párrafo, se profundiza en el uso de bucles 'for' y 'for each' con arreglos (arrays). Se describe brevemente qué son los arreglos y cómo almacenan múltiples datos en una sola variable. Se ejemplifica con un arreglo de nombres y se muestra cómo imprimir un nombre específico utilizando su índice. Luego, se presenta el bucle 'for each', que permite recorrer los elementos de un arreglo sin necesidad de conocer su índice. Se ilustra con un ejemplo que imprime cada nombre del arreglo. Además, se explica cómo obtener el índice de un elemento dentro del bucle 'for each' utilizando una variable adicional. Se concluye con una demostración de cómo imprimir tanto el nombre como su índice de almacenamiento en el arreglo.

10:04

🔚 Conclusión y Próximos Pasos

Este tercer párrafo cierra el capítulo actual y establece la transición al siguiente. Se menciona que se ha concluido la explicación de las estructuras algorítmicas repetitivas y se alude a que el próximo capítulo tratará sobre cómo interrumpir el flujo de un bucle en caso de cumplirse una condición específica. Se despide al público con la promesa de explorar nuevos temas en futuras sesiones.

Mindmap

Keywords

💡Bucle for

Un bucle for es una estructura de control de flujo utilizada en la programación para ejecutar un bloque de código un número específico de veces. En el guion, se menciona que el bucle for es similar al bucle while pero permite una sintaxis más elegante. Se utiliza para definir una variable de control dentro del bucle, establecer una condición de terminación y un incremento, como se muestra en el ejemplo donde se calcula la potencia de un número.

💡Bucle for each

El bucle for each es una estructura de control utilizada para recorrer colecciones de datos, como arrays, sin necesidad de utilizar un índice explícito. En el guion, se explica que el bucle for each permite acceder a cada elemento de un array sin hacer referencia a su posición, facilitando la impresión de nombres almacenados en un array.

💡Array

Un array es una estructura de datos que puede almacenar múltiples valores en una única variable. En el guion, se menciona que los arrays son útiles para almacenar una colección de datos, como nombres, y se puede acceder a cada elemento mediante un índice. Se ilustra con un ejemplo donde se define un array de nombres y se muestra cómo imprimir cada nombre utilizando un bucle for each.

💡Variable de control

Una variable de control es un tipo de variable utilizada dentro de un bucle para llevar un seguimiento del número de iteraciones o del estado general del bucle. En el guion, se establece una variable de control 'i' en el bucle for para controlar cuántas veces se ejecuta el bucle y se incrementa en cada iteración.

💡Condición de terminación

La condición de terminación es una expresión booleana que se evalúa en cada iteración de un bucle para determinar si debe continuar ejecutándose. En el guion, se establece una condición de terminación en el bucle for que se evalúa en cada iteración para determinar si se ha alcanzado el número de repeticiones deseado.

💡Incremento

El incremento es la cantidad por la cual se modifica la variable de control en cada iteración de un bucle. En el guion, se establece un incremento en el bucle for para aumentar la variable de control 'i' en 1 en cada iteración, lo que controla el número de veces que se ejecuta el bucle.

💡Sentencia

Una sentencia es una instrucción ejecutable en un lenguaje de programación. En el guion, se mencionan sentencias dentro de los bucles for y for each, que definen el código que se ejecutará en cada iteración del bucle.

💡Imprimir

Imprimir es una acción en la programación que se utiliza para mostrar información en la pantalla. En el guion, se utiliza el comando de impresión para mostrar en la pantalla los resultados de las operaciones dentro de los bucles, como la cantidad de asteriscos en una fila o los nombres almacenados en un array.

💡Salto de línea

Un salto de línea es una instrucción que se utiliza para crear un espacio vertical en la salida de texto, generalmente para separar visualmente diferentes bloques de información. En el guion, se menciona el uso de un salto de línea para separar visualmente las filas de asteriscos en la impresión final.

💡Índice

Un índice es un valor numérico que se utiliza para identificar la posición de un elemento dentro de una estructura de datos como un array. En el guion, se muestra cómo se puede acceder a los elementos de un array utilizando índices y cómo se puede recuperar el índice de un elemento específico utilizando un bucle for each.

Highlights

Se discuten dos estructuras algorítmicas repetitivas: el bucle for y el bucle forEach.

El bucle for es similar al bucle while pero con una sintaxis más elegante.

El bucle for permite definir la variable de control dentro del bucle.

Se explica cómo se estructuran los parámetros del bucle for.

Se muestra un ejemplo de cómo utilizar el bucle for para calcular potencias.

Se propone un ejercicio para imprimir asteriscos en función de la cantidad de filas.

Se utiliza un bucle anidado para imprimir un patrón de asteriscos.

Se aborda la necesidad de insertar saltos de línea para formatear la salida.

Se introduce la concepto de arrays y su relación con los bucles forEach.

Se describe cómo se utiliza el bucle forEach para recorrer arrays.

Se muestra un ejemplo práctico de cómo imprimir nombres almacenados en un array.

Se explica cómo se puede obtener el índice de un elemento en un bucle forEach.

Se demuestra la utilidad de los índices en el contexto de la lógica del programa.

Se menciona que en el próximo capítulo se explorará cómo interrumpir el flujo de un bucle.

Se anuncia el final del capítulo y la continuación en el siguiente.

Transcripts

play00:00

o la del amigos en este capítulo vamos a

play00:03

hablar sobre dos estructuras algorítmica

play00:06

repetitivas más una de ellas es el bucle

play00:08

for y la otra es el bucle for each el

play00:12

buqué for funciona de una manera muy

play00:15

similar o exactamente igual que el bucle

play00:17

while pero nos permite escribir la

play00:20

sentencia de una manera a mi parecer

play00:22

mucho más elegante y esta estructura

play00:24

consiste en lo siguiente vamos a

play00:26

comentar este bucle why que tenemos acá

play00:28

y voy a hacer lo siguiente acá abajo

play00:30

vamos a escribir la siguiente sentencia

play00:32

form

play00:34

abrimos unos paréntesis y acá escribimos

play00:38

estas llaves que tenemos acá nosotros

play00:41

cuando utilizamos el buque while tuvimos

play00:43

que definir una variable llamada i pero

play00:46

esta variable lo definimos por fuera acá

play00:49

lo tenemos muy bien con el bucle ford

play00:52

nosotros vamos a poder definir esta

play00:55

variable dentro del mismo bucle y se lo

play00:58

tenemos que pasar como primer parámetro

play01:00

de la sentencia que coloquemos en estos

play01:03

paréntesis que tenemos acá por eso que

play01:05

acá

play01:06

y que el valor de ahí es igual a cero

play01:09

ahora como segundo parámetro que le

play01:12

pasemos a esta sentencia llamada ford

play01:14

tenemos que ponerle la condición que

play01:16

queremos que evalúe el bucle la

play01:18

condición que estuvimos utilizando

play01:20

anteriormente era esta el valor de y es

play01:23

menor o igual que la variable exponente

play01:26

entonces esta condición se lo vamos a

play01:29

colocar acá y como tercer parámetro lo

play01:32

que debemos hacer es colocar de cuánto

play01:35

en cuánto quiero que salte el valor de y

play01:38

por ejemplo nosotros hemos colocado acá

play01:40

la variable y más más eso lo colocamos

play01:43

acá y más más y por último entre esta

play01:48

llave de apertura y esta llave de cierre

play01:50

colocamos el código que queremos que se

play01:52

ejecute en este caso lo que quiero que

play01:55

se ejecute es esto

play01:56

el resultado es igual a resultado por

play01:59

base esto hace exactamente lo mismo que

play02:02

esto que tenemos acá solo que como

play02:05

mencionó el valor de iu o la variable y

play02:07

le hemos definido dentro del mismo bucle

play02:10

dentro del mismo bucle también hemos

play02:12

colocado de cuánto en cuanto quiero que

play02:14

aumente si ahora viniéramos acá y

play02:17

actualizamos encontramos esto que

play02:20

tenemos acá el valor de 5 elevado a la 4

play02:23

es 31 25 para ejemplificar esto un poco

play02:26

mejor vamos a poner un pequeño ejercicio

play02:29

yo quiero lograr lo siguiente quiero

play02:31

imprimir en pantalla esto una especie de

play02:33

algo bonito quiero que aparezca un

play02:36

asterisco en la primera fila en la

play02:38

segunda fila quiero que aparezca otro

play02:41

asterisco en la tercera fila quiero que

play02:43

aparezca un tercer asterisco y así

play02:46

conforme más filas tengamos más

play02:49

asterisco se debería mostrar la cantidad

play02:52

de asteriscos debe coincidir con el

play02:54

número de filas en el cual nos

play02:55

encontremos entonces en primer lugar

play02:58

vamos a definir cuántas filas queremos

play03:00

tener cuantas filas queremos que se

play03:02

muestre entonces para eso vamos a poner

play03:06

una variable que se va a llamar filas y

play03:08

por ejemplo imaginemos que quiero que

play03:09

haya 10 filas

play03:12

como va a haber diez filas voy a querer

play03:13

que ingrese diez veces a este bucle

play03:15

entonces vamos a utilizar el bucle for

play03:18

para esa finalidad vamos a escribir acá

play03:20

for vamos a decir que el valor de y

play03:23

quiero que inicial hice en uno la

play03:26

condición va a ser que el valor de y sea

play03:28

menor o igual que la cantidad de filas y

play03:32

quiero que aumente de uno en uno con

play03:35

esto vamos a lograr que ingrese a este

play03:38

bucle y esto es es muy bien pero como

play03:41

haríamos que dependiendo la fila se

play03:43

imprima un valor distinto o sea una

play03:46

cantidad distinta asteriscos para eso

play03:48

dentro de este bucle vamos a colocar un

play03:51

bucle adicional de la siguiente manera

play03:53

vamos a volver a colocar el bucle fort

play03:55

pero claro acá la variable ya no va a

play03:58

ser y si no tenemos que elegir otra por

play04:01

ejemplo vamos a elegir la variable j

play04:03

vamos a colocar de igual manera que el

play04:07

valor de jota va a iniciar en 1 y vamos

play04:09

a indicar que quiero que ingrese a este

play04:12

bucle mientras se cumpla que el valor de

play04:14

jota sea menor o igual

play04:17

que el valor de iu es decir si estamos

play04:20

en la fila 1 va a ingresar una vez si

play04:22

estamos en la fila 2 va a ingresar 2

play04:24

veces y así sucesivamente y que quiero

play04:27

que ocurra acá quiero que mi imprimas en

play04:30

pantalla un asterisco ahora si nosotros

play04:34

nos vamos a nuestro navegador y

play04:36

actualizamos vamos a ver que todos estos

play04:38

asteriscos se están colocando en una

play04:40

única línea vamos a comprobar

play04:42

efectivamente todos los asteriscos están

play04:44

imprimiendo en una única línea y por qué

play04:48

ocurre eso ocurre porque no hemos puesto

play04:50

ningún salto de línea pero donde

play04:53

deberíamos poner ese salto de línea ese

play04:55

salto de línea lo vamos a colocar acá

play04:58

fuera de este foro ya que este foro se

play05:01

va a encargar de imprimir la cantidad de

play05:02

estudios teóricos que correspondan por

play05:04

línea entonces luego de imprimir todos

play05:07

los asteriscos de una determinada fila

play05:09

vamos a colocar un saldo en línea

play05:11

entonces por acá escribo el salto de

play05:14

línea y ahora venimos actualizamos

play05:16

encontramos la siguiente estructura como

play05:19

pueden ver nosotros podemos colocar

play05:21

bucles dentro

play05:23

otros bucles muy bien la próxima

play05:25

estructura que vamos a ver se le conoce

play05:28

como bucles foris estos bucles están

play05:31

netamente relacionados con los arrays

play05:34

los arrays aún no lo hemos visto pero

play05:37

podríamos hacer una breve introducción

play05:39

los arrays nos sirven cuando queremos

play05:41

almacenar más de un dato en una variable

play05:45

por ejemplo yo puedo definir una

play05:48

variable llamada nombres e indicar que

play05:51

se trata de un array y dentro de esa

play05:53

raíz colocar todos los nombres que yo

play05:55

quisiera almacenar por ejemplo puedo

play05:57

poner víctor iris elisabets y joel si yo

play06:04

quisiera imprimir el nombre o sea los

play06:07

nombres que aparecen acá lo que yo

play06:08

podría hacer es colocar acá lo siguiente

play06:11

poner hecho acceder al nombre de la

play06:14

variable y pasarle un índice el índice

play06:18

correspondiente al nombre que yo quiero

play06:20

imprimir cada uno de estos valores que

play06:23

hemos colocado en el array tienen un

play06:25

índice y ese índice comienza de cero y

play06:28

va aumentando de uno en uno

play06:29

es decir víctor tiene el índice cero

play06:31

iris 1 elisabeth 2 y yo el 3 si por

play06:35

ejemplo quisiera imprimir el valor de

play06:37

víctor con lo que tendría que hacer es

play06:38

acá pasarle el índice 0 y ahora vengo y

play06:42

actualizó aparece acá víctor por acá lo

play06:46

podría concatenar con un saldo de línea

play06:49

si quisiera imprimir el otro nombre acá

play06:52

lo cambio por el valor de 1 vengo

play06:56

actualizo y aparece el valor de iris

play07:00

pero imagina la siguiente imagina que

play07:02

nosotros queramos imprimir todos los

play07:04

nombres pero no sabemos exactamente

play07:06

cuántos nombres tengamos almacenado en

play07:09

nuestra raíz o peor aún que si sepamos

play07:12

cuántos valores tiene esa raíz pero es

play07:14

un número muy grande imaginemos que

play07:15

tengamos 1000 valores no vamos a estar

play07:18

imprimiendo hecho nombre cero hecho

play07:20

nombre uno así mil veces entonces para

play07:23

esas ocasiones podemos utilizar el bucle

play07:26

for each el bucle for each nos va a

play07:28

permitir ir integrando uno a uno los

play07:31

valores que tenga un array de la

play07:33

siguiente manera vamos a escribir acá la

play07:36

estructura foris y acá tenemos que

play07:39

pasarle dos parámetros el primer

play07:41

parámetro que deberíamos pasarle es el

play07:43

valor de la raíz que queramos y terán y

play07:46

el segundo valor que deberíamos pasarle

play07:49

es el valor de alguna variable donde

play07:51

queramos que almacene temporalmente cada

play07:54

uno de estos valores que tenemos acá por

play07:56

ejemplo yo lo voy a almacenar

play07:58

temporalmente en una variable llamada

play08:00

nombre ahora

play08:01

para imprimir cada uno de estos nombres

play08:03

lo que tendría que hacer es poner un

play08:05

hecho y simplemente imprimir lo que

play08:08

tengamos almacenado en la variable

play08:10

nombre ya que es aquí donde estamos

play08:12

rescatando cada uno de estos valores y

play08:14

al final lo concatenó claro con un salto

play08:16

de línea

play08:19

y ahora vamos a ver lo que tenemos

play08:20

actualizamos ya que aparece víctor y

play08:23

dice elizabeth yo él

play08:26

y como pueden ver en ningún momento

play08:28

hemos hecho referencia al índice para

play08:32

poder imprimir esos nombres ahora puede

play08:34

que nosotros necesitamos saber el índice

play08:37

porque la lógica de nuestro programa así

play08:40

lo requiere como podríamos rescatar el

play08:42

índice en el cual se encontraba por

play08:44

ejemplo el valor de víctor si

play08:46

necesitamos recuperar ese índice lo que

play08:49

tenemos que hacer es lo siguiente acá

play08:52

poner otra variable por ejemplo una

play08:55

variable llamada key para que sea más

play08:57

descriptivo le podríamos llamar a esta

play09:01

variable índice si nosotros hacemos esto

play09:04

actualizamos vemos que todo sigue

play09:06

funcionando correctamente pero en esta

play09:09

variable en la variable índice ha

play09:12

quedado almacenado el índice en el cual

play09:14

se encontraba estos elementos por

play09:16

ejemplo puedo imprimir el nombre de cada

play09:20

uno de ellos concatenado con lo

play09:21

siguiente

play09:23

se encontraba en el índice y vamos a

play09:27

imprimir lo que tenemos almacenado en la

play09:29

variable índice esto lo vamos a colocar

play09:31

así entonces va a imprimir víctor se

play09:34

encontraba en el índice 0 y se

play09:36

encontraba en el índice 1 y así

play09:38

sucesivamente vamos a actualizar y

play09:41

justamente es lo que me sale víctor se

play09:44

encontraba en el índice 0 ir y se

play09:46

encontraba en el índice 1

play09:48

elisabeth se encontraba en el índice 2 y

play09:50

joel se encontraba en el índice 3 y con

play09:54

eso terminamos con las estructuras

play09:56

algorítmicas repetitivas y en el próximo

play09:59

capítulo vamos a ver un tema un poco

play10:01

interesante y se trata de cómo podríamos

play10:03

interrumpir el flujo de un bucle en el

play10:06

caso de que llegase a cumplir una

play10:09

determinada condición sin más me despido

play10:12

y nos vemos en el próximo capítulo

Rate This

5.0 / 5 (0 votes)

Связанные теги
Bucles ForBucles For EachProgramaciónEstructuras RepetitivasAlgoritmosArraysVariablesCondicionesEjerciciosTutorial
Вам нужно краткое изложение на английском?