概要

2 次元配列を作ったら、次は 特定の要素を取り出す ところを覚える。書き方は $table[行][列] のように 添字を 2 つ並べる だけ。1 つ目の添字で外側の配列 (どの行か) を取り出し、2 つ目の添字でその行の中の何番目かを取り出す、という 外側 → 内側 の順に読むのがコツ。

$table[1][2] は「$table[1] で 1 行目の配列 [4, 5, 6] を取り出し → その [2] 番目で 6 を取り出す」と 2 段階で考えると迷わない。四隅を取り出す $table[0][0] (左上) / $table[0][2] (右上) / $table[2][0] (左下) / $table[2][2] (右下) のような典型パターンを手で書くと、「行と列の番号 = 添字」が体に入る。

存在しない添字を指定すると null が返り、PHP 8 系では Warning: Undefined array key も出る。事故を防ぐには count($table) で行数、count($table[0]) で列数 (1 行目基準) を意識して書く。この「範囲外アクセス」の感覚は、後の章で foreach に置き換える時にも生きてくる。

学習目標

ドリル

no 内容
01 3×3 配列の四隅 (左上 → 右上 → 左下 → 右下) を 1 行ずつ出力
02 3×3 配列の 2 行目 (添字 1) の 3 要素を 1 行ずつ出力

演習: ドリル 01 — 四隅を出力する

問題

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

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

この配列の四隅 (左上 → 右上 → 左下 → 右下) を 1 行ずつ出力してください。

期待される出力:

1
3
7
9

ヒント

演習: ドリル 02 — 1 行分を出力する

問題

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

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

2 行目 (添字 1) の 3 要素を 1 行ずつ順に出力してください。

期待される出力:

4
5
6

ヒント

この章を AI に聞く

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

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

X で共有 Hatena LINE