تعديل القيم عبر المفتاح
جزء من قسم 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ورقة مرجعية
لتحديث القيم في المصفوفات الترابطية (associative arrays)، قم بتعيين قيمة جديدة لمفتاح موجود:
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>عندما تقوم بتعيين قيمة لمفتاح موجود بالفعل، يستبدل PHP القيمة القديمة بالقيمة الجديدة. يظل المفتاح دون تغيير - يتم تحديث القيمة المرتبطة به فقط.
جرّب بنفسك
<?php
// قراءة مدخلات JSON
$jsonInput = trim(fgets(STDIN));
// قراءة المفاتيح والقيم المراد تحديثها
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
// تحويل JSON إلى مصفوفة ترابطية
$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المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص