تعديل القيم عبر المفتاح
جزء من قسم 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 ببساطة باستبدال القيمة القديمة بالقيمة الجديدة. يظل المفتاح نفسه دون تغيير - يتم تحديث القيمة المرتبطة به فقط.
هذا مفيد عندما تحتاج البيانات إلى التغيير بمرور الوقت. على سبيل المثال، تحديث حالة المستخدم، أو تغيير سعر المنتج، أو تصحيح المعلومات التي تم إدخالها بشكل غير صحيح. يعمل المفتاح كنقطة مرجع ثابتة بينما يمكن تعديل القيمة حسب الحاجة.
التحدي
سهلاقرأ سطرًا من المدخلات يحتوي على كائن JSON يمثل معلومات المنتج (على سبيل المثال، {"name": "Laptop", "price": 999, "stock": 50}).
ثم اقرأ أربعة مدخلات أخرى:
- سلسلة نصية
key1- المفتاح الأول للتحديث - سلسلة نصية
value1- القيمة الجديدة لـkey1 - سلسلة نصية
key2- المفتاح الثاني للتحديث - سلسلة نصية
value2- القيمة الجديدة لـkey2
أنشئ مصفوفة ترابطية (associative array) من مدخلات JSON، ثم:
- قم بتحديث القيمة المرتبطة بـ
key1إلىvalue1 - قم بتحديث القيمة المرتبطة بـ
key2إلىvalue2 - اطبع القيمة المحدثة عند
key1 - اطبع القيمة المحدثة عند
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. طباعة القيم المحدثة
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط7المصفوفات الجزء الثاني - الترابطية
مقدمة في المصفوفات الترابطيةالوصول إلى القيم عبر المفتاحتعديل القيم عبر المفتاحإضافة أزواج (مفتاح-قيمة) جديدةالتحقق من وجود المفتاحملخص - مخزن بيانات (مفتاح-قيمة)2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص