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

إضافة فعالية جديدة

جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 60 من 68.

challenge icon

التحدي

سهل

ستتلقى مدخلين: سلسلة JSON تمثل مصفوفة الأحداث الحالية من الدرس السابق، وثلاث قيم في السطر الثاني مفصولة بمسافات تمثل اسم الحدث الجديد وتاريخه وموقعه.

سيكون المدخل الأول عبارة عن سلسلة JSON بهذا التنسيق: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

سيكون المدخل الثاني عبارة عن ثلاث قيم مفصولة بمسافات بهذا التنسيق: Workshop 2024-06-10 Library

اقرأ كلا المدخلين. قم بفك تشفير سلسلة JSON إلى مصفوفة أحداث. بعد ذلك، قم بتحليل المدخل الثاني لاستخراج اسم الحدث وتاريخه وموقعه. أنشئ مصفوفة ترابطية (associative array) جديدة لهذا الحدث باستخدام المفاتيح "name" و "date" و "location"، وأضفها إلى مصفوفة الأحداث باستخدام array_push().

بعد إضافة الحدث الجديد، قم بالمرور عبر جميع الأحداث في المصفوفة واطبع كل واحد منها بالتنسيق التالي:

Event: [name] on [date] at [location]

اطبع كل حدث في سطر منفصل، بالترتيب الذي يظهر به في المصفوفة.

تنسيق المدخلات:

  • السطر الأول: سلسلة JSON تمثل مصفوفة الأحداث الموجودة
  • السطر الثاني: ثلاث قيم مفصولة بمسافات تمثل اسم الحدث الجديد وتاريخه وموقعه (مثال: Workshop 2024-06-10 Library)

المخرجات المتوقعة: طباعة كل حدث (بما في ذلك الحدث المضاف حديثاً) في سطر منفصل بالتنسيق: Event: [name] on [date] at [location]

جرّب بنفسك

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

// قراءة تفاصيل الحدث الجديد من المدخل الثاني
$newEventInput = trim(fgets(STDIN));

// فك تشفير سلسلة JSON إلى مصفوفة
$events = (array)json_decode($jsonInput, true);

// تحليل تفاصيل الحدث الجديد (الاسم، التاريخ، الموقع)
list($name, $date, $location) = explode(' ', $newEventInput);

// TODO: اكتب كودك أدناه
// إنشاء مصفوفة حدث جديد وإضافتها إلى مصفوفة الأحداث باستخدام array_push()
// ثم قم بالمرور على جميع الأحداث وطباعتها بالتنسيق المطلوب

?>

جميع دروس Logic & Flow