概要

2 次元配列を 「表」として読める形 で画面に出すには、入れ子 foreach の中で 「マスは空白区切り、行末で改行」 という出力ルールを守る。foreach ($table as $row) { foreach ($row as $cell) { echo $cell . " "; } echo "\n"; } という骨格で、3×3 配列なら 3 行 × 3 列の見やすい出力ができる。

このとき要点は、改行を どこで出すか。内側 foreach の中で echo "\n" を出すとマスごとに改行して縦 1 列になってしまう。外側 foreach のループ末尾 (内側 foreach が終わった直後)echo "\n" を出すことで「1 行分が終わった」を表現する。「内側で空白、外側で改行」と覚えておくと混乱しない。

implode(" ", $row) を使うと「1 行分を空白区切りで連結した文字列」を一発で作れる。内側 foreach を消して foreach ($table as $row) { echo implode(" ", $row) . "\n"; } と書けば同じ結果になる。実務では printf("%3d %3d %3d\n", ...)str_pad桁を揃える バリエーションもよく使うので、空白区切りはあくまで最小形と捉えておく。

学習目標

ドリル

no 内容
01 3×3 配列を空白区切りの表形式で 3 行出力

演習: ドリル 01 — 3×3 を表形式で出力

問題

次の 3×3 の 2 次元配列が与えられています。

$table = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

各行の 3 要素を 空白区切り で 1 行に出力してください (全 3 行)。

期待される出力:

1 2 3
4 5 6
7 8 9

ヒント

この章を AI に聞く

  1. 「ch05 — 表形式で整形出力」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch05 — 表形式で整形出力」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch05 — 表形式で整形出力」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch05 — 表形式で整形出力」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE