概要
配列を作ったら、次は 中の値を 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_r や var_dump で確認するクセをつけておくと早く異変に気付ける。最後の要素は $arr[count($arr) - 1] で取り出すのが定石で、PHP には負の添字で末尾を指す構文 ($arr[-1] のようなもの) は標準では用意されていない。
学習目標
$arr[0]で配列の 1 番目の要素を取り出せる- 添字 (インデックス) が 0 から始まる ことを覚える
count($arr) - 1で最後の要素にアクセスできる
ドリル
| no | 内容 |
|---|---|
| 01 | $arr[0] で先頭の要素を取り出して出力 |
| 02 | $arr[count($arr) - 1] で最後の要素を出力 |
| 03 | 真ん中の要素 $arr[1] を出力 |
📝 演習: ドリル 01 — 先頭の要素
問題
配列 [7, 14, 21, 28, 35] の 先頭の要素 を echo で 1 行出力してください。
期待される出力:
7ヒント
$nums = [7, 14, 21, 28, 35];echo $nums[0] . "\n";
📝 演習: ドリル 02 — 最後の要素
問題
配列 [7, 14, 21, 28, 35] の 最後の要素 を echo で 1 行出力してください。
要素数を count() で取り、count($arr) - 1 で添字を計算してください。
期待される出力:
35ヒント
$nums = [7, 14, 21, 28, 35];$last = $nums[count($nums) - 1];echo $last . "\n";
📝 演習: ドリル 03 — 真ん中の要素
問題
配列 ["朝", "昼", "夜"] の 真ん中の要素 (添字 1) を echo で 1 行出力してください。
期待される出力:
昼ヒント
$times = ["朝", "昼", "夜"];echo $times[1] . "\n";