概要

2 次元配列 とは、配列の要素にさらに配列を入れた構造のこと。[[1, 2, 3], [4, 5, 6], [7, 8, 9]] のように [ ] をネストして書くことで、表 (行 × 列)グリッド碁盤の目 のような 2 軸のデータを 1 つの変数で表現できる。これまで扱ってきた 1 次元の配列が「リスト」だとすれば、2 次元配列は「シート」や「マス目」のイメージ。

この章では「配列の中に配列を入れる」というシンプルな考え方を体に染み込ませる。$row1 = [1, 2, 3] のような行を 3 本作って [$row1, $row2, $row3] でまとめる書き方と、最初から [[1,2,3], [4,5,6], [7,8,9]] とネストして書く書き方の両方を扱う。後者がよく使われる形だが、最初は前者で「ただの配列の要素として配列を入れているだけ」と理解するほうが腹落ちしやすい。

内側の配列は 長さが違っても動く が、後の章 (ch06 行合計 / ch07 列合計 / ch11 CSV) では「全行同じ長さ」を前提に処理を組み立てる。だからこの章で「表として扱うなら全行同じ列数」という暗黙の約束を意識しておく。print_r で中身を出すと 入れ子になった構造 が文字列で見えるので、形を確認しながら進める。

学習目標

ドリル

no 内容
01 2×2 の 2 次元配列を作って $arr[0][0] を出力
02 3×3 の 2 次元配列を作って $arr[2][2] を出力

演習: ドリル 01 — 2×2 配列を作る

問題

2×2 の 2 次元配列を 1 つ作り、$arr[0][0] の値を出力してください。

配列の中身は次の通りにしてください:

[
    [10, 20],
    [30, 40],
]

期待される出力:

10

ヒント

演習: ドリル 02 — 3×3 配列を作る

問題

3×3 の 2 次元配列を 1 つ作り、$arr[2][2] の値を出力してください。

配列の中身は次の通りにしてください:

[
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
]

期待される出力:

9

ヒント

この章を AI に聞く

  1. 「ch01 — 2 次元配列を作る」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch01 — 2 次元配列を作る」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch01 — 2 次元配列を作る」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

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

ch01 — 2 次元配列を作る」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE