Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التكرار باستخدام المفاتيح والقيم

جزء من قسم الأساسيات في رحلة PHP على Coddy. الدرس 50 من 71.

في الدرس السابق، تعلمت كيف يتيح لك foreach الوصول إلى كل قيمة في array. ولكن ماذا لو كنت تحتاج أيضًا إلى key؟ يكون هذا مفيدًا بشكل خاص عند العمل مع المصفوفات الترابطية.

تحتوي حلقة foreach على صيغة موسّعة توفّر كلاً من المفتاح والقيمة في كل تكرار:

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

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

يُخرج هذا:

name: Alice
age: 25
city: Paris

تُسنِد الصياغة foreach ($array as $key => $value) المفتاح الحالي إلى $key والقيمة المقابلة إلى $value. يمكنك تسمية هذه المتغيرات بأي أسماء تريدها، ما عليك سوى أن تجعلها وصفية.

يعمل هذا أيضًا مع المصفوفات المفهرسة، حيث تكون المفاتيح عبارة عن فهارس رقمية:

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

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

يُخرج هذا:

0: red
1: green
2: blue

يُسهِّل الوصول إلى كلٍّ من المفاتيح والقيم عرض البيانات المُعنونة أو إجراء العمليات التي تعتمد على المفتاح.

challenge icon

التحدي

سهل

اقرأ سطرًا واحدًا من الإدخال يحتوي على كائن JSON يمثّل منتجًا مع key وvalues (مثل: {"name":"Laptop","price":"999","stock":"25"}).

استخدم حلقة foreach مع صيغة key-value للتكرار through بيانات product. اطبع كل key والقيمة المقابلة له بالصيغة:

[key] => [value]

اطبع كل زوج key-value في سطر منفصل.

المثال 1:

إذا كان الإدخال هو {"name":"Laptop","price":"999","stock":"25"}، فيجب أن يكون الناتج:

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

المثال 2:

إذا كان الإدخال هو {"title":"PHP Basics","author":"John","pages":"350"}، فيجب أن يكون الناتج:

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

المثال 3:

إذا كان الإدخال هو {"city":"Paris","country":"France"}، فيجب أن يكون الناتج:

city => Paris
country => France

جرّب بنفسك

<?php
// اقرأ إدخال JSON
$input = trim(fgets(STDIN));

// حوّل JSON إلى مصفوفة ترابطية
$product = (array)json_decode($input, true);

// TODO: اكتب الكود الخاص بك أدناه
// استخدم حلقة foreach مع صيغة المفتاح-القيمة للتكرار عبر بيانات المنتج
// اطبع كل مفتاح وقيمة بالتنسيق: [key] => [value]

?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم PHP عبر الإنترنت