Contenido del curso
Arreglos
Condicionales
Bucles
Funciones
Proyecto: juego del ahorcado con PHP
Bonus: HTML con esteroides
Próximos pasos
Ciclo foreach
Contenido del curso
Ciclo foreach
Erick Alvarez
EstudianteGuadalupe Monge Barale
EstudianteJoel Dominguez Merino
EstudianteJoel Dominguez Merino
EstudianteHenry
Estudianteisaac cruz herrera
EstudianteLuis Alberto Rodríguez Arellano
EstudianteJimmy Buriticá Londoño
EstudianteGuadalupe Monge Barale
EstudianteJUAN DAVID OSPINA
EstudianteCarlos Daniel Oller
EstudianteLESTHER XITUMUL MANUEL
EstudianteLuis Alberto Juarez Corona
EstudianteCristian Damaso Calderon Rojas
EstudianteRafael Junior Ortiz Sánchez
EstudianteKilian Bakale Bengono Bindang
EstudianteHallking Quesada Medina
EstudianteEmerson David Cabrera Salas
EstudianteNelson Gonzalez Escalante
EstudianteFidel Parabacuto
EstudianteAlejandro Ayala Castro
EstudianteFRANK MAIKOL CARRASCO MAMANI
EstudianteLuca Lisandro Vallejos
EstudianteJosé Quero
EstudianteMariano Perez
EstudiantePaula Abad
EstudianteEn lo personal me parece que foreach está bastante bueno para hacer búsquedas secuenciales. Suponiendo que la lista de cafés es muy larga podríamos programar un buscador sencillo algo así:
<?php $cafes=array( "Capuccino"=>50, "Latte"=>45, "Americano"=>40, "Te chai"=>45 ); echo "\n\t Lista de cafés y precios:"; foreach($cafes as $tipo => $costo){ echo "\n\t El café $tipo cuesta: $$costo"; } $cafe=readline("\nEscribe un cafe para buscarlo: "); foreach($cafes as $tipo => $costo){ if($tipo == $cafe){ echo "\n\t Café tipo: $tipo encontrado"; echo "\n\t Costo: $$costo"; break; } } echo "\n\n"; ?>
Espero haber ayudado, saludos!
Muy bueno. Guiándome con lo tuyo hice esto
$dias = array( "Lunes" => "Monday", "Martes" => "Tuesday", "Miércoles" => "Wednesday", "Jueves" => "Thursday", "Viernes" => "Friday", "Sábado" => "Saturday", "Domingo" => "Sunday" ); foreach($dias as $español => $ingles) { echo "El día ".$español . " en inglés se escribe ". $ingles . "\n"; } $dia_buscado=readline("\nEscribe el día de la semana que quieras saber como se escribe en inglés: "); foreach($dias as $español => $ingles){ if($dia_buscado === $español){ echo "\n\t El día $dia_buscado se escribe en inglés $ingles "; break; } } echo "\n\n";
Este ciclo lo he visto en Javascript y es bueno saber que en php también lo tenemos disponible. Cambia muy poco su sintaxis y el hecho de que nos pueda obtener la clave y el valor lo hace muy completo para cualquier implementación. Comparto mi apunte de la clase probando ambas sintaxis en un arreglo normal y un arreglo asociativo. .
También les comparto mi apunte del uso de break y continue 😉 .
El ciclo foreach es un arreglo inteligente que se usa especialmente para recorrer arreglos, no importa cuantos elementos tenga, los va a recorrer todos.
no es un arreglo, es una estructura de bucle.
No sabía que el break funcionaba en el For Each, pero, ¿esto solo es en PHP o también en otros lenguajes como JavaScript?
break;
También permite salir de los ciclos en JavaScript, te dejo la documentación
Hola, Luis. También existe en js Documentación.
Como se recorrería un Arreglo multidimensional Asociativo ?
Hola :) Podes recorrerlo con for, while, foreach, todo va a depender de la estructura del arreglo, vas a tener tantos bucles como arrays dentro de arrays tengas. Te paso un ejemplo sencillo :
$escuelaMichis = array( array( "Nombre" => "Humita", "Ocupacion" => "Guardiana", "Color" => "Tricolor", ), array( "Nombre" => "Pepe el toga", "Ocupacion" => "Cantante", "Color" => "Blanco", ), ); // Recorrer la estructura foreach($escuelaMichis as $michi){ echo "\nLos datos del michi:\n"; foreach($michi as $propiedad => $valor){ echo "$propiedad = $valor\n"; } echo "\n"; }
Sentencias break y continue
En PHP, las sentencias break y continue se utilizan dentro de estructuras de control para modificar el flujo de ejecución del programa.
La sentencia break se utiliza para salir de un bucle, mientras que la sentencia continue se utiliza para saltar una iteración del bucle y pasar a la siguiente.
Ejemplo de la sentencia break
Un ejemplo de la sentencia break en la vida real es la búsqueda de un elemento en un arreglo. Por ejemplo, se puede utilizar un bucle for para buscar un número en un arreglo y salir del bucle cuando se encuentra el número.
$numeros = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); $buscar = 5; for ($i = 0; $i < count($numeros); $i++) { if ($numeros[$i] == $buscar) { echo "El número $buscar se encuentra en el índice $i.\n"; break; } }
El output del código PHP es:
El número 5 se encuentra en el índice 4.
Este código utiliza un bucle for para buscar el número 5 en un arreglo y salir del bucle cuando se encuentra el número. Dentro del bloque for, se verifica si el valor del elemento actual del arreglo es igual al número a buscar; si es así, se imprime un mensaje y se utiliza la sentencia break para salir del bucle.
Ejemplo de la sentencia continue
Un ejemplo de la sentencia continue en la vida real es la impresión de números pares en un rango determinado. Por ejemplo, se puede utilizar un bucle for para imprimir los números pares en el rango del 1 al 10.
for ($i = 1; $i <= 10; $i++) { if ($i % 2 != 0) { continue; } echo "$i\n"; }
The output of the provided PHP code is:
2 4 6 8 10
Este código utiliza un bucle for para imprimir los números pares en el rango del 1 al 10. Dentro del bloque for, se verifica si el valor del elemento actual es impar, si es así, se utiliza la sentencia continue para saltar a la siguiente iteración del bucle. Si el valor es par, se imprime el número utilizando el comando echo.
En resumen, las sentencias break y continue son útiles para modificar el flujo de ejecución de un programa dentro de estructuras de control como los bucles for y foreach.
LA TABLA DE SKATE MAS CARA
<?php $skate_tabla = array( "Pop Shop"=>560.87, "Antifashon"=>630.99, "California"=>1025.99, "Element"=>689.48, "Tree"=>478.36, "Enjoy"=>388.86, "Toy Machine"=>789.88, ); /*foreach ($skate_tabla as $precio) { // code... echo "La tabla de skate cuesta: $$precio MXN \n"; }*/ foreach ($skate_tabla as $tabla => $precio) { if(900>=$precio){ echo "La tabla $tabla cuesta $$precio MXN \n"; continue; }else{ echo "la tabla $tabla mas cara es: $$precio MXN \n"; break; } // echo "La tabla $tabla cuesta $$precio MXN \n"; } echo "\n"; ?>
como tienda de cafes no seria una cafeteria?
Hice un poca mas compleja la condicion:
<?php $tiendita_de_cafes = array( "Americano" => 20, "Latte" => 25, "Recalentado" => 10, "Capuccino" => 27.5, "Mocca" => 24 ); foreach ($tiendita_de_cafes as $cafe => $price){ if ($cafe != "Recalentado") { echo "El cafe $cafe es muy rico!!"."<br>"; }else { echo "El cafe $cafe no es muy agradable :c. <br>"; } }
Porfavor, este profesor es un ángel. Hada ahora todas sus clases son perfectas
nunca use esos elementos de continue y break, que chulo.
Uno de mis cicloss favoritos! Te facilita mucho el trabajo!
En general, las estructuras de control que mendionó el profesor para recorrer arreglos no secuenciales, pueden ser usadas en cualquier tipo de arreglos. Sin embargo el caso contrario no siempre es cierto. Es decir, los comandos while y for no siempre pueden ser usados por si solos si no se conocen de antemano los índices o si los mismos no son secuenciales.
$array = [ [ "nombre" => "Fidel", "edad" => 34, "hobbie" => "programar" ], [ "nombre" => "Ivon", "edad" => 33, "hobbie" => "comprar protector solar" ] ]; foreach ($array as $value) { print_r($value['nombre'] . ' tiene ' . $value['edad'] . ' y le gusta ' . $value['hobbie'] . "\n"); };
Hice unos apuntes para comprender fácilmente las estructuras de control condicionales y bucles, con ayuda de diagramas de flujo. Estructuras de control
Profee, yo tambien quiero la taza de PLATZI :(
<?php echo "Listas de Cervecitas Frias <br>"; $cervezas = array( "Brahma" => 350, "Quilmes" => 380, "Golden" => 400, "Heiniken" => 500 ); foreach($cervezas as $chela => $valor) { echo "esta bebida $chela, cuestan $$valor pesos <br>"; } //Aplicamos el break echo "lista de comidas <br>"; $gustoso = array( "lomos" => 450, "empanadas" => 600, "pizzas" => 550, "burguer" => 390, "papa fritas" => 200 ); foreach($gustoso as $comidas => $costo) { echo "tenemos en stock estas comidas: $comidas, y cuestan $$costo pesos <br>"; if($comidas == "pizzas") { echo "econtramos la pizza <br><br>"; break; } } //Continue echo "lista de bebidas <br>"; $gaseosas = array( "Coca-Cola" => 300, "Pepsi" => 250, "Manaos" => 200, "Secco" => 180, "Cabalgata" => 100 ); foreach($gaseosas as $bebidas => $value) { if($bebidas == "Manaos" || $bebidas == "Cabalgata") { continue; } echo "solo tengo en stock esta gaseosa: $bebidas y cuestan $$value pesos <br>"; }
$tiendaCafes = [ "Mocca" => 30, "Latte" => 20, "Capuccino" => 30, "Recalentado" => 10, "Americano" => 23.5, ]; //NombreArreglo //Llave //Valor foreach ($tiendaCafes as $Cafes => $Precio) { echo "El cafe $Cafes tiene un precio de: $Precio"; echo "<br>"; } echo "<br>"; foreach ($tiendaCafes as $Cafes => $Precio){ //Estoy buscando un cafe de $30 if ($Precio == 30){ echo "Tenemos un cafe llamado $Cafes con un precio de $Precio"; echo "<br>"; } }
$tienda = array( "Americano" => 20, "Latte" => 30, "Capuccino" => 35 );
foreach ($tienda as $cafe => $pr){ if($cafe == "Latte"){ echo "-Ese $cafe quiero!! \n-OK. El precio es: $pr \n"; break; } }
Excelente clase por fin pude entender el Foreach. Muchas gracias