概要
配列は「作って終わり」では使い物にならない。実務では 作った後に値を入れ替える・追加する・削除する ことが本番で、入力データに応じて配列を組み立てたり、結果を集めて配列に詰めたりする処理が圧倒的に多い。この章では「すでにある配列に手を加える」ための 3 つの基本操作 (書き換え・末尾追加・削除) をまとめて覚える。
書き換えは $arr[1] = "X" のように 添字アクセスの左辺に値を代入 するだけ。これで既存の要素が新しい値に置き換わる。新しい要素を末尾に足したい場合は $arr[] = "X" と書く。添字を省略した書き方で、PHP は自動的に「現在の最大添字 + 1」に値を入れてくれる。これは シンタックスシュガー (省略記法) で、配列に値を流し込むループでよく出てくる。
削除は少し特殊で、unset($arr[1]) を使う。注意点は 削除しても残った要素の添字が詰められない こと。[10, 20, 30] から unset($arr[1]) すると、結果は [0 => 10, 2 => 30] となり、1 の位置がそのまま欠番になる。print_r で見ると「あれ、1 がない」と驚くが、これは PHP の配列が内部的にキーと値のペアで動いている (前章の「整数添字も連想配列の一種」) ことの帰結だ。
学習目標
$arr[0] = Xで既存の要素を書き換えられる$arr[] = Xで配列の末尾に追加できる- 空の配列から始めて要素を組み立てられる
ドリル
| no | 内容 |
|---|---|
| 01 | $arr[1] の値を書き換えて全要素を print_r で表示 |
| 02 | $arr[] = X で末尾に値を追加して print_r で表示 |
| 03 | 空配列から for ループで要素を組み立てて print_r で表示 |
📝 演習: ドリル 01 — 要素を書き換える
問題
配列 [10, 20, 30] の添字 1 の値を 99 に書き換え、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 10
[1] => 99
[2] => 30
)ヒント
$nums = [10, 20, 30];$nums[1] = 99;print_r($nums);
📝 演習: ドリル 02 — 末尾に追加
問題
配列 [10, 20, 30] に対して、$arr[] = 40; と $arr[] = 50; で末尾に 2 つ追加し、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 40
[4] => 50
)ヒント
$nums = [10, 20, 30];$nums[] = 40;$nums[] = 50;print_r($nums);
📝 演習: ドリル 03 — for ループで組み立てる
問題
空の配列から始めて、for ループで 1 から 5 までの値を順に末尾追加し、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)ヒント
$nums = [];for ($i = 1; $i <= 5; $i++) { $nums[] = $i; }print_r($nums);