סיכום: מיון טבלת מובילים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 26 מתוך 68.
אתגר
קלתקבלו שתי קלטים: תחילה מערך אסוציאטיבי של שמות השחקנים והניקוד שלהם בפורמט 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";
}
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין