No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Ciclo foreach

12/25
Recursos

Aportes 22

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Ejemplo grafic贸 de como funciona
Continue

Break

En 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!

El ciclo foreach es un arreglo inteligente que se usa especialmente para recorrer arreglos, no importa cuantos elementos tenga, los va a recorrer todos.

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.
.

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>";
        }
   
  
}

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(
鈥淎mericano鈥 => 20,
鈥淟atte鈥 => 30,
鈥淐apuccino鈥 => 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

Podriamos decir que contrinue es para solo omitiri ciertos valores en un arreglo pero si quieres encontrar solo un valor podemos usar break

Hoy aprendimos a usar como usar continue y break鈥enial

$tienda_de_cafes = array (
鈥淎mericano鈥 => 20,
鈥淟atte鈥 => 25,
鈥淐apuccino鈥 => 27.5,
鈥淢occa鈥 => 24
);
$busc = readline("Ponga el caf茅 sobre el que quiera saber el precio: ");
foreach ($tienda_de_cafes as $cafe => $price) {

if($cafe == $busc) {
    echo "El valor del caf茅 $cafe, es: $$price USD\n";
    break;
}

};
echo 鈥淺n鈥;

$tienda_de_cafes = array (
鈥淎mericano鈥 => 20,
鈥淟atte鈥 => 25,
鈥淐apuccino鈥 => 27.5,
鈥淢occa鈥 => 24

);

foreach ($tienda_de_cafes as $cafe => $price) {

if($cafe == "Latte") {
    echo "El valor del caf茅 $cafe, es: $$price USD\n";
    break;
}

};
echo 鈥淺n鈥;

Me gustaron estas definiciones.
Est谩n en la documentaci贸n de PHP que nos comparte el profe.
.
break
Finaliza la ejecuci贸n del bucle o switch en curso.
.

continue
Salta el resto de la iteraci贸n actual del bucle y continua la ejecuci贸n en la evaluaci贸n de la condici贸n, para luego comenzar la siguiente iteraci贸n.

Hay que tener cuidado con los decimales, por costumbre en Chile los decimales se separan con una coma 鈥,鈥 y los miles por puntos.
Por lo tanto al declarar el Capuccino con una coma el resultado cambia drasticamente.

<?php 

$tiendita_de_cafes = array(
    "Americano" => 20,
    "Latte" => 25,
    "Capuccino" => 27,5,
    "Mocca" => 24
);

foreach($tiendita_de_cafes as $price){
    echo "El caf茅 en cuesti贸n tiene un valor $$price USD \n";
}


Resultado:
El caf茅 en cuesti贸n tiene un valor $20 USD 
El caf茅 en cuesti贸n tiene un valor $25 USD 
El caf茅 en cuesti贸n tiene un valor $27 USD 
El caf茅 en cuesti贸n tiene un valor $5 USD  
El caf茅 en cuesti贸n tiene un valor $24 USD 

?>```

馃槷 Te quedaron mas dudas sobre el uso de el Foreach te dejo este video con un explicacion cheveere