Schleifen mit Schlüsseln und Werten
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 50 von 71.
In der vorherigen Lektion haben Sie gelernt, wie foreach Ihnen Zugriff auf jeden Wert in einem Array gibt. Aber was, wenn Sie auch den Schlüssel benötigen? Dies ist besonders nützlich, wenn Sie mit assoziativen Arrays arbeiten.
Die foreach-Schleife hat eine erweiterte Syntax, die sowohl den Schlüssel als auch den Wert in jeder Iteration bereitstellt:
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}
?>Dies gibt aus:
name: Alice
age: 25
city: ParisDie Syntax foreach ($array as $key => $value) weist den aktuellen Schlüssel $key und den entsprechenden Wert $value zu. Sie können diese Variablen beliebig benennen – halten Sie sie nur beschreibend.
Das funktioniert auch mit indizierten Arrays, bei denen die Schlüssel die numerischen Indizes sind:
<?php
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
echo "$index: $color\n";
}
?>Das gibt aus:
0: red
1: green
2: blueDer Zugriff auf sowohl Schlüssel als auch Werte erleichtert das Anzeigen von beschrifteten Daten oder das Durchführen von Operationen, die vom Schlüssel abhängen.
Aufgabe
EinfachLesen Sie eine einzelne Zeile der Eingabe, die ein JSON-Objekt darstellt, das ein Produkt mit Schlüsseln und Werten repräsentiert (z. B., {"name":"Laptop","price":"999","stock":"25"}).
Verwenden Sie eine foreach-Schleife mit der Schlüssel-Wert-Syntax, um durch die Produktdaten zu iterieren. Drucken Sie jeden Schlüssel und seinen entsprechenden Wert im Format:
[key] => [value]Drucken Sie jedes Schlüssel-Wert-Paar in einer separaten Zeile.
Beispiel 1:
Wenn die Eingabe {"name":"Laptop","price":"999","stock":"25"} ist, sollte die Ausgabe sein:
name => Laptop
price => 999
stock => 25Beispiel 2:
Wenn die Eingabe {"title":"PHP Basics","author":"John","pages":"350"} ist, sollte die Ausgabe sein:
title => PHP Basics
author => John
pages => 350Beispiel 3:
Wenn die Eingabe {"city":"Paris","country":"France"} ist, sollte die Ausgabe sein:
city => Paris
country => FranceSpickzettel
Die foreach-Schleife kann sowohl den Schlüssel als auch den Wert in jeder Iteration mit der erweiterten Syntax bereitstellen:
foreach ($array as $key => $value) {
// $key und $value verwenden
}Beispiel mit einem assoziativen Array:
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}Ausgabe:
name: Alice
age: 25
city: ParisDiese Syntax funktioniert auch mit indizierten Arrays, bei denen die Schlüssel numerische Indizes sind:
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
echo "$index: $color\n";
}Ausgabe:
0: red
1: green
2: blueProbier es selbst
<?php
// JSON-Eingabe lesen
$input = trim(fgets(STDIN));
// JSON in assoziatives Array konvertieren
$product = (array)json_decode($input, true);
// TODO: Schreiben Sie Ihren Code unten
// Verwenden Sie eine foreach-Schleife mit Key-Value-Syntax, um durch die Produktdaten zu iterieren
// Drucken Sie jeden Schlüssel und Wert im Format: [key] => [value]
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions8Schleifen
For-SchleifeWhile-SchleifeFor-each-SchleifeSchleifen mit Schlüsseln und Wertenbreak-Anweisungcontinue-AnweisungZusammenfassung - Iteration über Daten3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators