Menu
Coddy logo textTech

Laços com Chaves e Valores

Parte da seção Fundamentos do Journey de PHP da Coddy — lição 50 de 71.

Na aula anterior, você aprendeu como foreach dá acesso a cada valor em um array. Mas e se você também precisar da chave? Isso é especialmente útil ao trabalhar com arrays associativos.

O foreach loop possui uma sintaxe estendida que fornece tanto a chave quanto o valor em cada iteração:

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

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

Isso produz:

name: Alice
age: 25
city: Paris

A sintaxe foreach ($array as $key => $value) atribui a chave atual a $key e o valor correspondente a $value. Você pode nomear essas variáveis como quiser—basta mantê-las descritivas.

Isso também funciona com arrays indexados, onde as chaves são os índices numéricos:

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

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

Isso produz:

0: red
1: green
2: blue

Ter acesso tanto às chaves quanto aos valores facilita a exibição de dados rotulados ou a realização de operações que dependem da chave.

challenge icon

Desafio

Fácil

Leia uma única linha de entrada contendo um objeto JSON representando um produto com chaves e valores (por exemplo, {"name":"Laptop","price":"999","stock":"25"}).

Use um loop foreach com a sintaxe chave-valor para iterar pelos dados do produto. Imprima cada chave e seu valor correspondente no formato:

[key] => [value]

Imprima cada par chave-valor em uma linha separada.

Exemplo 1:

Se a entrada for {"name":"Laptop","price":"999","stock":"25"}, a saída deve ser:

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

Exemplo 2:

Se a entrada for {"title":"PHP Basics","author":"John","pages":"350"}, a saída deve ser:

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

Exemplo 3:

Se a entrada for {"city":"Paris","country":"France"}, a saída deve ser:

city => Paris
country => France

Folha de consulta

O foreach loop pode fornecer tanto a chave quanto o valor em cada iteração usando a sintaxe estendida:

foreach ($array as $key => $value) {
    // use $key and $value
}

Exemplo com um array associativo:

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

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

Saída:

name: Alice
age: 25
city: Paris

Essa sintaxe também funciona com arrays indexados, onde as chaves são índices numéricos:

$colors = ["red", "green", "blue"];

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

Saída:

0: red
1: green
2: blue

Experimente você mesmo

<?php
// Ler a entrada JSON
$input = trim(fgets(STDIN));

// Converter JSON para array associativo
$product = (array)json_decode($input, true);

// TODO: Escreva seu código abaixo
// Use um loop foreach com sintaxe chave-valor para iterar pelos dados do produto
// Imprima cada chave e valor no formato: [key] => [value]

?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos