採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

添字でアクセス

テクノロジ系 / 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";