概要

連想配列は 作って終わり ではなく、プログラムの途中でキーを増やしたり、値を書き換えたり、不要になったキーを消したりして「育てていく」のが普通の使い方になる。たとえばユーザー情報を持つ $user 連想配列に、ログイン時刻を後から $user['last_login'] として追加する、というような場面だ。

操作は 3 つの構文を押さえれば足りる。追加$arr['new_key'] = 値 で代入するだけ (新しいキーが自動で作られる)、書き換え は同じ書式を 既存キーに対して 行うだけ (値が上書きされる)、削除unset($arr['key']) でキーごと消す。unset は変数を「未定義の状態に戻す」関数で、$arr['key'] = null とは違ってキーそのものが配列から消える点に注意したい。

もう 1 つ覚えておきたい性質が 挿入順が保たれる こと。PHP の連想配列は内部的に「順序付きハッシュ」として実装されていて、最初に入れたキーから順に foreach で出てくる。途中の unset で穴があいても残ったキーの並び順は崩れない。この章のドリルは追加・上書き・削除の 3 本立てで、その後の foreach 章で「どの順番で出てくるか」を実感する前提を作る。

学習目標

ドリル

no 内容
01 既存連想配列に新しいキーを追加
02 既存キーの値を上書き
03 unset でキーを削除

演習: ドリル 01 — 連想配列に新キーを追加

問題

以下の連想配列が与えられています。

$person = [
    'name' => '太郎',
    'age'  => 20,
];

ここに 'city' => '東京' を追加し、その後 name / age / city の順に値を 1 行ずつ出力してください。

期待される出力:

太郎
20
東京

ヒント

演習: ドリル 02 — 既存キーの上書き

問題

以下の連想配列が与えられています。

$person = [
    'name' => '太郎',
    'age'  => 20,
];

age の値を 21 に書き換え、nameage をこの順で 1 行ずつ出力してください。

期待される出力:

太郎
21

ヒント

この章を AI に聞く

  1. 「ch02 — 連想配列の追加・書き換え・削除」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

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

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch02 — 連想配列の追加・書き換え・削除」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

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

ch02 — 連想配列の追加・書き換え・削除」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE