Menu
Coddy logo textTech

Iteración con claves y valores

Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 50 de 71.

En la lección anterior, aprendiste cómo foreach te da acceso a cada valor de un array. Pero ¿qué pasa si también necesitas la clave? Esto es especialmente útil cuando trabajas con arrays asociativos.

El bucle foreach tiene una sintaxis extendida que proporciona tanto la clave como el valor en cada iteración:

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

foreach ($person as $key => $value) {
    echo "$key: $value\n";
}
?>

Esto produce:

name: Alice
age: 25
city: Paris

La sintaxis foreach ($array as $key => $value) asigna la clave actual a $key y el valor correspondiente a $value. Puedes llamar a estas variables como quieras, pero procura que sean descriptivas.

Esto también funciona con arrays indexados, donde las claves son los índices numéricos:

<?php
$colors = ["red", "green", "blue"];

foreach ($colors as $index => $color) {
    echo "$index: $color\n";
}
?>

Esto produce:

0: red
1: green
2: blue

Tener acceso tanto a las claves como a los valores facilita mostrar datos etiquetados o realizar operaciones que dependen de la clave.

challenge icon

Desafío

Fácil

Lee una sola línea de entrada que contenga un objeto JSON que represente un producto con claves y valores (por ejemplo, {"name":"Laptop","price":"999","stock":"25"}).

Usa un bucle foreach con la sintaxis de pares clave-valor para recorrer los datos del producto. Imprime cada clave y su valor correspondiente con el formato:

[key] => [value]

Imprime cada par clave-valor en una línea separada.

Ejemplo 1:

Si la entrada es {"name":"Laptop","price":"999","stock":"25"}, la salida debería ser:

name => Laptop
price => 999
stock => 25

Ejemplo 2:

Si la entrada es {"title":"PHP Basics","author":"John","pages":"350"}, la salida debería ser:

title => PHP Basics
author => John
pages => 350

Ejemplo 3:

Si la entrada es {"city":"Paris","country":"France"}, la salida debería ser:

city => Paris
country => France

Pruébalo tú mismo

<?php
// Lee la entrada JSON
$input = trim(fgets(STDIN));

// Convierte JSON a array asociativo
$product = (array)json_decode($input, true);

// TODO: Escribe tu código debajo
// Usa un bucle foreach con sintaxis de clave-valor para iterar a través de los datos del producto
// Imprime cada clave y valor en el formato: [key] => [value]

?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de PHP online