Menu
Coddy logo textTech

שינוי איברי מערך דו־ממדי

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 29 מתוך 68.

לאחר שתוכל לגשת לאיברים במערך דו־ממדי, הצעד ההגיוני הבא הוא ללמוד כיצד לשנות את הערכים שלהם. שינוי איברים במערך דו־ממדי נעשה באמצעות אותה תחביר של אינדוקס כפול כמו הגישה אליהם, אך עם אופרטור השמה כדי להגדיר ערך חדש.

כך משנים איבר מסוים במערך דו־ממדי:

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];

// שנה את התא המרכזי ל-'X'
$gameBoard[1][1] = "X";

// שנה את הפינה השמאלית העליונה ל-'O'
$gameBoard[0][0] = "O";
?>

התחביר $gameBoard[1][1] = "X" מצביע על שורה 1, עמודה 1 (מרכז של רשת 3x3) ומקצה את הערך "X" למיקום הזה. כך משנים ישירות את המערך המקורי ומחליפים כל ערך שהיה שם קודם.

טכניקת השינוי הזו חיונית לעדכון מצבי משחק, לשינוי נתונים בטבלאות או לכל מצב שבו עליך לשנות מיקומים מסוימים בתוך מבנה נתונים דמוי־רשת. היכולת לאתר ולעדכן מיקומים מדויקים הופכת מערכים דו־ממדיים למושלמים לייצוג מידע דינמי ומשתנה המאורגן בשורות ובעמודות.

challenge icon

אתגר

קל

יתקבלו ארבעה קלטים: מערך דו־ממדי המייצג תרשים ישיבה בפורמט JSON, אינדקס שורה, אינדקס עמודה ושם של נוסע חדש. קראו את כל ארבעת הקלטים, המירו את מחרוזת ה-JSON למערך דו־ממדי, שנו את האיבר בשורה ובעמודה שצוינו על ידי השמת שם הנוסע החדש, והדפיסו את המערך הדו־ממדי המעודכן באמצעות print_r().

המערך הדו־ממדי מייצג תרשים ישיבה שבו כל איבר מכיל שם של נוסע או מחרוזת ריקה עבור מושבים פנויים.

פורמט הקלט:

  • שורה ראשונה: מערך JSON המייצג את תרשים הישיבה (לדוגמה: [["Alice","Bob",""],["","Charlie","Diana"],["","",""]])
  • שורה שנייה: אינדקס שורה (מספר שלם)
  • שורה שלישית: אינדקס עמודה (מספר שלם)
  • שורה רביעית: שם הנוסע החדש (מחרוזת)

הפלט הצפוי: המערך הדו־ממדי ששונה, מוצג באמצעות print_r()

נסו בעצמכם

<?php
// קראו את הקלטים
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));

// המירו את JSON למערך דו־ממדי
$seating_chart = (array)json_decode($json_input, true);

// TODO: כתבו את הקוד שלכם למטה כדי לשנות את תרשים הישיבה


// הציגו את המערך המעודכן
print_r($seating_chart);
?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר PHP אונליין