التكرار باستخدام المفاتيح والقيم
جزء من قسم الأساسيات في رحلة 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يُسهِّل الوصول إلى كلٍّ من المفاتيح والقيم عرض البيانات المُعنونة أو إجراء العمليات التي تعتمد على المفتاح.
التحدي
سهلاقرأ سطرًا واحدًا من الإدخال يحتوي على كائن 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]
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات8الحلقات التكرارية
حلقة Forحلقة Whileحلقة Foreachالتكرار باستخدام المفاتيح والقيمجملة Breakجملة Continueمراجعة - التكرار عبر البيانات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت