Menu
Coddy logo textTech

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

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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 אונליין