Menu
Coddy logo textTech

Iterowanie z użyciem kluczy i wartości

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 50 z 71.

W poprzedniej lekcji dowiedziałeś się, jak foreach umożliwia dostęp do każdej wartości w tablicy. A co, jeśli potrzebujesz również klucza? Jest to szczególnie przydatne podczas pracy z tablicami asocjacyjnymi.

Pętla foreach ma rozszerzoną składnię, która udostępnia klucz i wartość w każdej iteracji:

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

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

To wyświetla:

name: Alice
age: 25
city: Paris

Składnia foreach ($array as $key => $value) przypisuje bieżący klucz do $key, a odpowiadającą mu wartość do $value. Możesz nazwać te zmienne dowolnie, byle nazwy były opisowe.

To działa również z tablicami indeksowanymi, w których kluczami są indeksy liczbowe:

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

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

Wynikiem jest:

0: red
1: green
2: blue

Dostęp zarówno do kluczy, jak i wartości ułatwia wyświetlanie danych z etykietami lub wykonywanie operacji zależnych od klucza.

challenge icon

Wyzwanie

Łatwy

Odczytaj jeden wiersz wejścia zawierający obiekt JSON reprezentujący produkt z kluczami i wartościami (np. {"name":"Laptop","price":"999","stock":"25"}).

Użyj pętli foreach ze składnią klucz-wartość, aby przejść przez dane produktu. Wypisz każdy klucz i odpowiadającą mu wartość w formacie:

[key] => [value]

Wypisz każdą parę klucz-wartość w osobnym wierszu.

Przykład 1:

Jeśli dane wejściowe to {"name":"Laptop","price":"999","stock":"25"}, dane wyjściowe powinny wyglądać następująco:

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

Przykład 2:

Jeśli dane wejściowe to {"title":"PHP Basics","author":"John","pages":"350"}, dane wyjściowe powinny wyglądać następująco:

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

Przykład 3:

Jeśli dane wejściowe to {"city":"Paris","country":"France"}, dane wyjściowe powinny wyglądać następująco:

city => Paris
country => France

Spróbuj swoich sił

<?php
// Odczytaj dane wejściowe JSON
$input = trim(fgets(STDIN));

// Przekształć JSON w tablicę asocjacyjną
$product = (array)json_decode($input, true);

// TODO: Napisz swój kod poniżej
// Użyj pętli foreach ze składnią klucz-wartość, aby przejść przez dane produktu
// Wypisz każdy klucz i wartość w formacie: [key] => [value]

?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator PHP online