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

مراجعة: ترتيب لوحة المتصدرين

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

challenge icon

التحدي

سهل

ستتلقى مدخلين: الأول، مصفوفة ترابطية (associative array) لأسماء اللاعبين ونتائجهم بتنسيق JSON، والثاني، ترتيب الفرز (إما "asc" أو "desc"). قم بقراءة كلا المدخلين، وحوّل سلسلة JSON إلى مصفوفة، ثم قم بفرز لوحة المتصدرين حسب النتائج وفقاً للترتيب المحدد، واطبع اسم كل لاعب ونتيجته في سطر منفصل بالتنسيق التالي: Name: Score

استخدم asort() للترتيب التصاعدي و arsort() للترتيب التنازلي للحفاظ على ارتباط أسماء اللاعبين بنتائجهم.

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

  • السطر الأول: كائن JSON يحتوي على أسماء اللاعبين كمفاتيح والنتائج كقيم (مثال: {"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100})
  • السطر الثاني: ترتيب الفرز - إما asc أو desc

المخرجات المتوقعة: اسم كل لاعب ونتيجته في سطر منفصل بالتنسيق Name: Score، مرتبة وفقاً للترتيب المحدد

جرّب بنفسك

<?php
// قراءة مدخلات JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);

// قراءة ترتيب الفرز
$order = trim(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه لفرز لوحة المتصدرين بناءً على الترتيب


// عرض اسم كل لاعب ودرجته
foreach ($leaderboard as $name => $score) {
    echo "$name: $score\n";
}
?>

جميع دروس Logic & Flow