概要

配列は「作って終わり」では使い物にならない。実務では 作った後に値を入れ替える・追加する・削除する ことが本番で、入力データに応じて配列を組み立てたり、結果を集めて配列に詰めたりする処理が圧倒的に多い。この章では「すでにある配列に手を加える」ための 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 の配列が内部的にキーと値のペアで動いている (前章の「整数添字も連想配列の一種」) ことの帰結だ。

学習目標

ドリル

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
)

ヒント

演習: ドリル 02 — 末尾に追加

問題

配列 [10, 20, 30] に対して、$arr[] = 40;$arr[] = 50; で末尾に 2 つ追加し、print_r で中身を表示してください。

期待される出力:

Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)

ヒント

演習: ドリル 03 — for ループで組み立てる

問題

空の配列から始めて、for ループで 1 から 5 までの値を順に末尾追加し、print_r で中身を表示してください。

期待される出力:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

ヒント

この章を AI に聞く

  1. 「ch03 — 配列を書き換える」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch03 — 配列を書き換える」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch03 — 配列を書き換える」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

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

ch03 — 配列を書き換える」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE