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

إضافة أزواج (مفتاح-قيمة) جديدة

جزء من قسم 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
?>

البدء بمصفوفة فارغة وإضافة أزواج حسب الحاجة هو نمط شائع عند جمع البيانات بمرور الوقت أو عندما لا تعرف جميع المفاتيح مسبقاً.

challenge icon

التحدي

سهل

ابدأ بمصفوفة ترابطية فارغة تسمى $profile.

اقرأ المدخلات التالية:

  • سلسلة نصية key1 - المفتاح الأول للإضافة
  • سلسلة نصية value1 - القيمة الخاصة بـ key1
  • سلسلة نصية key2 - المفتاح الثاني للإضافة
  • سلسلة نصية value2 - القيمة الخاصة بـ key2
  • سلسلة نصية key3 - المفتاح الثالث للإضافة
  • سلسلة نصية value3 - القيمة الخاصة بـ key3

أضف كل زوج (مفتاح-قيمة) إلى مصفوفة $profile، ثم اطبع:

  1. القيمة المرتبطة بـ key1
  2. القيمة المرتبطة بـ key2
  3. القيمة المرتبطة بـ key3

اطبع كل نتيجة في سطر منفصل.

مثال:

إذا كانت المدخلات هي username، و alice123، و email، و alice@example.com، و status، و active، يجب أن تكون المخرجات:

alice123
alice@example.com
active

إذا كانت المدخلات هي brand، و Nike، و size، و 42، و color، و black، يجب أن تكون المخرجات:

Nike
42
black

ورقة مرجعية

لإضافة زوج مفتاح-قيمة جديد إلى مصفوفة ترابطية، استخدم نفس صيغة التعديل: $array["key"] = value. إذا لم يكن المفتاح موجوداً، فإن PHP تقوم بإنشائه تلقائياً:

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

$person["city"] = "Paris";
$person["job"] = "Developer";
?>

يمكنك البدء بمصفوفة فارغة وبنائها تدريجياً:

<?php
$settings = [];

$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;
?>

جرّب بنفسك

<?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";
?>
quiz iconاختبر نفسك

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

جميع دروس Fundamentals