概要

配列を作ったら、次は 中の値を 1 つだけ取り出す 操作が必要になる。「2 番目の生徒の点数を出したい」「最初の要素だけ別の処理に渡したい」というやつだ。PHP では $arr[0] のように、変数名のうしろに [添字] を書くことで要素にアクセスする。これを 添字アクセス (インデックスアクセス) と呼ぶ。

注意したいのは 添字は 0 から始まる という点。[10, 20, 30] という配列なら、$arr[0]10$arr[1]20$arr[2]30 になる。「1 番目」と数えると $arr[1] に手が伸びてしまいがちで、これが初学者の典型的なバグの原因になる。実物のドリルで「先頭」「最後」「真ん中」を取り出して、添字と要素の対応を頭に染み込ませる。

存在しない添字にアクセスすると、PHP は null を返した上で Warning (警告) を出す (PHP 8 以降は警告レベルが上がっている)。エラーで止まらないため気付きにくいが、print_rvar_dump で確認するクセをつけておくと早く異変に気付ける。最後の要素は $arr[count($arr) - 1] で取り出すのが定石で、PHP には負の添字で末尾を指す構文 ($arr[-1] のようなもの) は標準では用意されていない。

学習目標

ドリル

no 内容
01 $arr[0] で先頭の要素を取り出して出力
02 $arr[count($arr) - 1] で最後の要素を出力
03 真ん中の要素 $arr[1] を出力

演習: ドリル 01 — 先頭の要素

問題

配列 [7, 14, 21, 28, 35]先頭の要素echo で 1 行出力してください。

期待される出力:

7

ヒント

演習: ドリル 02 — 最後の要素

問題

配列 [7, 14, 21, 28, 35]最後の要素echo で 1 行出力してください。 要素数を count() で取り、count($arr) - 1 で添字を計算してください。

期待される出力:

35

ヒント

演習: ドリル 03 — 真ん中の要素

問題

配列 ["朝", "昼", "夜"]真ん中の要素 (添字 1) を echo で 1 行出力してください。

期待される出力:

ヒント

この章を AI に聞く

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

    💬 ChatGPT 📘 Claude ✨ Gemini

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

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

X で共有 Hatena LINE