تعديل القيم عبر المفتاح
جزء من قسم الأساسيات في رحلة PHP على Coddy. الدرس 43 من 71.
تمامًا كما تعلمت تعديل عناصر المصفوفة array المفهرسة حسب موضعها، يمكنك تحديث values في المصفوفات associative باستخدام keys الخاصة بها. الصياغة متطابقة: عيّن قيمة جديدة إلى مفتاح موجود.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
$person["age"] = 26;
$person["city"] = "London";
echo $person["age"]; // 26
echo $person["city"]; // London
?>عند تعيين قيمة إلى مفتاح موجود بالفعل، يستبدل PHP القيمة القديمة بالقيمة الجديدة ببساطة. يظل المفتاح نفسه دون تغيير: يتم تحديث associated value فقط.
يكون هذا مفيدًا عندما تحتاج البيانات إلى التغيير بمرور الوقت. على سبيل المثال، تحديث حالة user، أو تغيير سعر product، أو تصحيح معلومات أُدخلت بشكل غير صحيح. يعمل المفتاح كنقطة مرجعية ثابتة، بينما يمكن تعديل القيمة حسب الحاجة.
التحدي
سهلاقرأ سطرًا من الإدخال يحتوي على كائن JSON يمثّل معلومات منتج (مثلًا، {"name": "Laptop", "price": 999, "stock": 50}).
ثم اقرأ أربعة مدخلات أخرى:
- سلسلة نصية
key1- المفتاح الأول المراد تحديثه - سلسلة نصية
value1- القيمة الجديدة للمفتاحkey1 - سلسلة نصية
key2- المفتاح الثاني المراد تحديثه - سلسلة نصية
value2- القيمة الجديدة للمفتاحkey2
أنشئ مصفوفة ترابطية من إدخال 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 إلى مصفوفة ترابطية
$product = (array)json_decode($jsonInput, true);
// TODO: اكتب الكود الخاص بك أدناه
// 1. حدّث القيمة المرتبطة بـ key1 إلى value1
// 2. حدّث القيمة المرتبطة بـ key2 إلى value2
// 3. اطبع القيم المحدّثة
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط7المصفوفات الجزء الثاني - الترابطية
مقدمة في المصفوفات الترابطيةالوصول إلى القيم عبر المفتاحتعديل القيم عبر المفتاحإضافة أزواج (مفتاح-قيمة) جديدةالتحقق من وجود المفتاحملخص - مخزن بيانات (مفتاح-قيمة)2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت