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

ورقة مرجعية

لتحديث القيم في المصفوفات الترابطية (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. طباعة القيم المحدثة

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

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

جميع دروس Fundamentals