添字でアクセス
テクノロジ系 / array-basic (添字配列・配列関数・explode/implode)
添字でアクセス
Lesson 4 / Chapter 2
配列から 1 個ずつ取り出す
<?php $nums = [10, 20, 30]; echo $nums[0] . "\n"; echo $nums[1] . "\n"; echo $nums[2] . "\n";
実行結果:
10 20 30
$arr[番号]で配列から値を取り出す- この 番号 を「添字」「インデックス」と呼ぶ
添字は 0 から 始まる
<?php $fruits = ["りんご", "みかん", "ぶどう"]; echo $fruits[0] . "\n"; // りんご (1 番目) echo $fruits[1] . "\n"; // みかん (2 番目) echo $fruits[2] . "\n"; // ぶどう (3 番目)
- 1 番目の要素は
[0] - 2 番目は
[1]、3 番目は[2] - これは初学者が最も間違えるポイント
要素数は count() で取る
<?php $nums = [10, 20, 30, 40, 50]; echo count($nums) . "\n"; // 5
count($arr)で配列の要素数 (長さ) が分かる- 上の例では 5 個入っているので 5
最後の要素は count() - 1
<?php $nums = [10, 20, 30, 40, 50]; $last = $nums[count($nums) - 1]; echo $last . "\n"; // 50
- 添字は 0 始まりなので、最後の添字は
要素数 - 1 - 要素数 5 → 最後の添字は
5 - 1 = 4 $nums[4]が 50
範囲外の添字に注意
<?php $nums = [10, 20, 30]; echo $nums[10] . "\n"; // 警告: Undefined array key 10
- 存在しない添字にアクセスすると 警告 が出て、値は空になる
- アクセス前に
count()で長さを確認する習慣をつける
このチャプターでできるようになること
✅ $arr[0] で先頭の要素を取り出せる
✅ 添字が 0 始まりだと理解している
✅ count($arr) で要素数を取れる
✅ $arr[count($arr) - 1] で最後の要素を取れる
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — 先頭の要素
問題
配列 [7, 14, 21, 28, 35] の 先頭の要素 を echo で 1 行出力してください。
期待される出力:
7
採点
php scripts/grade.php topics/array-basic/ch02-access-index/drill/01-first/
ヒント
$nums = [7, 14, 21, 28, 35];echo $nums[0] . "\n";
ドリル 02 — 最後の要素
問題
配列 [7, 14, 21, 28, 35] の 最後の要素 を echo で 1 行出力してください。
要素数を count() で取り、count($arr) - 1 で添字を計算してください。
期待される出力:
35
採点
php scripts/grade.php topics/array-basic/ch02-access-index/drill/02-last/
ヒント
$nums = [7, 14, 21, 28, 35];$last = $nums[count($nums) - 1];echo $last . "\n";
ドリル 03 — 真ん中の要素
問題
配列 ["朝", "昼", "夜"] の 真ん中の要素 (添字 1) を echo で 1 行出力してください。
期待される出力:
昼
採点
php scripts/grade.php topics/array-basic/ch02-access-index/drill/03-middle/
ヒント
$times = ["朝", "昼", "夜"];echo $times[1] . "\n";