إضافة أزواج (مفتاح-قيمة) جديدة
جزء من قسم Fundamentals في رحلة PHP على Coddy. الدرس 44 من 71.
لقد تعلمت كيفية تعديل القيم الموجودة في مصفوفة ترابطية. ولكن ماذا يحدث عندما تقوم بتعيين قيمة لمفتاح غير موجود بعد؟ يقوم PHP بإنشائه تلقائياً لك.
<?php
$person = [
"name" => "Alice",
"age" => 25
];
$person["city"] = "Paris";
$person["job"] = "Developer";
echo $person["city"]; // باريس
echo $person["job"]; // مطور
?>بنية الجملة البرمجية هي نفسها المستخدمة للتعديل—$array["key"] = value—ولكن عندما لا يكون المفتاح موجوداً، يقوم PHP بإضافة زوج (مفتاح-قيمة) جديد إلى المصفوفة بدلاً من تحديث زوج موجود.
هذا مفيد بشكل خاص عند بناء مصفوفة ترابطية تدريجياً:
<?php
$settings = [];
$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;
echo $settings["theme"]; // dark
?>البدء بمصفوفة فارغة وإضافة أزواج حسب الحاجة هو نمط شائع عند جمع البيانات بمرور الوقت أو عندما لا تعرف جميع المفاتيح مسبقاً.
التحدي
سهلابدأ بمصفوفة ترابطية فارغة تسمى $profile.
اقرأ المدخلات التالية:
- سلسلة نصية
key1- المفتاح الأول للإضافة - سلسلة نصية
value1- القيمة الخاصة بـkey1 - سلسلة نصية
key2- المفتاح الثاني للإضافة - سلسلة نصية
value2- القيمة الخاصة بـkey2 - سلسلة نصية
key3- المفتاح الثالث للإضافة - سلسلة نصية
value3- القيمة الخاصة بـkey3
أضف كل زوج (مفتاح-قيمة) إلى مصفوفة $profile، ثم اطبع:
- القيمة المرتبطة بـ
key1 - القيمة المرتبطة بـ
key2 - القيمة المرتبطة بـ
key3
اطبع كل نتيجة في سطر منفصل.
مثال:
إذا كانت المدخلات هي username، و alice123، و email، و alice@example.com، و status، و active، يجب أن تكون المخرجات:
alice123
alice@example.com
activeإذا كانت المدخلات هي brand، و Nike، و size، و 42، و color، و black، يجب أن تكون المخرجات:
Nike
42
blackجرّب بنفسك
<?php
// قراءة المدخلات
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
$key3 = trim(fgets(STDIN));
$value3 = trim(fgets(STDIN));
// البدء بمصفوفة ترابطية فارغة
$profile = [];
// TODO: اكتب كودك أدناه
// أضف كل زوج من المفتاح والقيمة إلى مصفوفة $profile
// طباعة القيم المرتبطة بكل مفتاح
echo $profile[$key1] . "\n";
echo $profile[$key2] . "\n";
echo $profile[$key3] . "\n";
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط7المصفوفات الجزء الثاني - الترابطية
مقدمة في المصفوفات الترابطيةالوصول إلى القيم عبر المفتاحتعديل القيم عبر المفتاحإضافة أزواج (مفتاح-قيمة) جديدةالتحقق من وجود المفتاحملخص - مخزن بيانات (مفتاح-قيمة)2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت