Anahtar ve Değerlerle Döngü
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 50 / 71.
Önceki derste, foreach'in bir dizideki her değere nasıl erişim sağladığını öğrendiniz. Ama ya anahtara da ihtiyacınız varsa? Bu, ilişkili dizilerle çalışırken özellikle faydalıdır.
foreach döngüsü, her yinelemede hem anahtarı hem de değeri sağlayan genişletilmiş bir sözdizimine sahiptir:
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}
?>Bu şu çıktıyı üretir:
name: Alice
age: 25
city: ParisBu sözdizimi foreach ($array as $key => $value), mevcut anahtarı $key'e ve karşılık gelen değeri $value'e atar. Bu değişkenlere istediğiniz herhangi bir isim verebilirsiniz—sadece onları açıklayıcı tutun.
Bu, anahtarların sayısal indeksler olduğu indeksli dizilerle de çalışır:
<?php
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
echo "$index: $color\n";
}
?>Bu çıktı verir:
0: red
1: green
2: blueHem anahtarlara hem de değerlere erişim, etiketli verileri görüntülemeyi veya anahtara bağlı işlemleri kolayca yapmayı sağlar.
Görev
KolayAnahtarlar ve değerler içeren bir ürün temsil eden bir JSON nesnesi içeren tek bir giriş satırını oku (örneğin, {"name":"Laptop","price":"999","stock":"25"}).
foreach döngüsünü anahtar-değer sözdizimi ile ürün verilerini gezinmek için kullan. Her anahtarı ve karşılık gelen değerini şu formatta yazdır:
[key] => [value]Her anahtar-değer çiftini ayrı bir satıra yazdır.
Örnek 1:
Giriş {"name":"Laptop","price":"999","stock":"25"} ise, çıktı şu olmalı:
name => Laptop
price => 999
stock => 25Örnek 2:
Giriş {"title":"PHP Basics","author":"John","pages":"350"} ise, çıktı şu olmalı:
title => PHP Basics
author => John
pages => 350Örnek 3:
Giriş {"city":"Paris","country":"France"} ise, çıktı şu olmalı:
city => Paris
country => FranceKopya kağıdı
foreach döngüsü, genişletilmiş sözdizimini kullanarak her yinelemede hem anahtarı hem de değeri sağlayabilir:
foreach ($array as $key => $value) {
// use $key and $value
}Bir ilişkilendirilmiş dizi ile örnek:
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}Çıktı:
name: Alice
age: 25
city: ParisBu sözdizimi, anahtarların sayısal indeksler olduğu indeksli dizilerle de çalışır:
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
echo "$index: $color\n";
}Çıktı:
0: red
1: green
2: blueKendin dene
<?php
// JSON girdisini oku
$input = trim(fgets(STDIN));
// JSON'u ilişkilendirici diziye dönüştür
$product = (array)json_decode($input, true);
// TODO: Kodunuzu aşağıya yazın
// Ürün verilerini yinelemek için anahtar-değer sözdizimiyle bir foreach döngüsü kullanın
// Her anahtarı ve değeri [key] => [value] formatında yazdırın
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
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 Decisions8Döngüler
For DöngüsüWhile DöngüsüForeach DöngüsüAnahtar ve Değerlerle DöngüBreak İfadesiContinue İfadesiÖzet - Veriler Üzerinde Yineleme3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators