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

تعديل القيم عبر المفتاح

جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 43 من 71.

تماماً كما تعلمت تعديل عناصر المصفوفة المفهرسة حسب موقعها، يمكنك تحديث القيم في المصفوفات الترابطية باستخدام مفاتيحها. الصيغة البرمجية متطابقة—قم بتعيين قيمة جديدة لمفتاح موجود.

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

$person["age"] = 26;
$person["city"] = "London";

echo $person["age"];  // 26
echo $person["city"]; // London
?>

عندما تقوم بتعيين قيمة لمفتاح موجود بالفعل، يقوم PHP ببساطة باستبدال القيمة القديمة بالقيمة الجديدة. يظل المفتاح نفسه دون تغيير - يتم تحديث القيمة المرتبطة به فقط.

هذا مفيد عندما تحتاج البيانات إلى التغيير بمرور الوقت. على سبيل المثال، تحديث حالة المستخدم، أو تغيير سعر المنتج، أو تصحيح المعلومات التي تم إدخالها بشكل غير صحيح. يعمل المفتاح كنقطة مرجع ثابتة بينما يمكن تعديل القيمة حسب الحاجة.

challenge icon

التحدي

سهل

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

ثم اقرأ أربعة مدخلات أخرى:

  • سلسلة نصية key1 - المفتاح الأول للتحديث
  • سلسلة نصية value1 - القيمة الجديدة لـ key1
  • سلسلة نصية key2 - المفتاح الثاني للتحديث
  • سلسلة نصية value2 - القيمة الجديدة لـ key2

أنشئ مصفوفة ترابطية (associative array) من مدخلات JSON، ثم:

  1. قم بتحديث القيمة المرتبطة بـ key1 إلى value1
  2. قم بتحديث القيمة المرتبطة بـ key2 إلى value2
  3. اطبع القيمة المحدثة عند key1
  4. اطبع القيمة المحدثة عند key2

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

مثال:

إذا كانت المدخلات هي {"name": "Laptop", "price": 999, "stock": 50}، و price، و 1099، و stock، و 45، يجب أن تكون المخرجات:

1099
45

إذا كانت المدخلات هي {"city": "Paris", "country": "France", "population": 2000000}، و city، و London، و country، و UK، يجب أن تكون المخرجات:

London
UK

جرّب بنفسك

<?php
// قراءة مدخلات JSON
$jsonInput = trim(fgets(STDIN));

// قراءة المفاتيح والقيم المراد تحديثها
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

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

// TODO: اكتب كودك أدناه
// 1. تحديث القيمة المرتبطة بـ key1 إلى value1
// 2. تحديث القيمة المرتبطة بـ key2 إلى value2
// 3. طباعة القيم المحدثة

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

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

جميع دروس Fundamentals