Menu
CoddyTech

יצירת מערך דו־ממדי

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

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

יצירת מערך דו־ממדי ב-PHP היא פשוטה. יוצרים מערך שבו כל איבר הוא בעצמו מערך:

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

כך נוצרת רשת בגודל 3x3, שבה כל מערך פנימי מייצג שורה, וכל איבר בתוך המערכים האלה מייצג עמודה. אפשר גם ליצור מערכים דו־ממדיים עם סוגי נתונים שונים:

<?php
$scores = [
    [85, 92, 78],
    [90, 88, 95],
    [76, 84, 89]
];
?>

PHP מספקת גם פונקציה מובנית בשם array_fill() שמאפשרת לך ליצור במהירות מערך שמלא בערך מסוים. היא מקבלת שלושה ארגומנטים: האינדקס ההתחלתי, מספר האיברים והערך שבו למלא:

<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>

אפשר לשלב את array_fill() עם עצמה כדי לבנות מערך דו־ממדי ביעילות. לדוגמה, כדי ליצור רשת בגודל 3x3 שבה כל תא מתחיל ב־0:

<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// תוצאה: מערך 3x3 שבו כל איבר הוא 0
?>

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

challenge icon

אתגר

קל

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

פורמט הקלט:

  • שורה ראשונה: מספר השורות (מספר שלם)
  • שורה שנייה: מספר העמודות (מספר שלם)
  • שורה שלישית: הערך ההתחלתי לכל איבר (מחרוזת)

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

נסו בעצמכם

<?php
// קראו את הקלט
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));

// TODO: כתבו את הקוד שלכם למטה כדי ליצור את המערך הדו-ממדי


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

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

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

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