概要
連想配列は 作って終わり ではなく、プログラムの途中でキーを増やしたり、値を書き換えたり、不要になったキーを消したりして「育てていく」のが普通の使い方になる。たとえばユーザー情報を持つ $user 連想配列に、ログイン時刻を後から $user['last_login'] として追加する、というような場面だ。
操作は 3 つの構文を押さえれば足りる。追加 は $arr['new_key'] = 値 で代入するだけ (新しいキーが自動で作られる)、書き換え は同じ書式を 既存キーに対して 行うだけ (値が上書きされる)、削除 は unset($arr['key']) でキーごと消す。unset は変数を「未定義の状態に戻す」関数で、$arr['key'] = null とは違ってキーそのものが配列から消える点に注意したい。
もう 1 つ覚えておきたい性質が 挿入順が保たれる こと。PHP の連想配列は内部的に「順序付きハッシュ」として実装されていて、最初に入れたキーから順に foreach で出てくる。途中の unset で穴があいても残ったキーの並び順は崩れない。この章のドリルは追加・上書き・削除の 3 本立てで、その後の foreach 章で「どの順番で出てくるか」を実感する前提を作る。
学習目標
$arr['key'] = 値で新しいキーを追加できる- 既存キーに同じ書式で代入すると値が上書きされることを理解する
unset($arr['key'])でキーごと削除できる
ドリル
| no | 内容 |
|---|---|
| 01 | 既存連想配列に新しいキーを追加 |
| 02 | 既存キーの値を上書き |
| 03 | unset でキーを削除 |
📝 演習: ドリル 01 — 連想配列に新キーを追加
問題
以下の連想配列が与えられています。
$person = [
'name' => '太郎',
'age' => 20,
];ここに 'city' => '東京' を追加し、その後 name / age / city の順に値を 1 行ずつ出力してください。
期待される出力:
太郎
20
東京ヒント
$person['city'] = '東京';で追加できる- その後 3 回
echoするだけ
📝 演習: ドリル 02 — 既存キーの上書き
問題
以下の連想配列が与えられています。
$person = [
'name' => '太郎',
'age' => 20,
];age の値を 21 に書き換え、name と age をこの順で 1 行ずつ出力してください。
期待される出力:
太郎
21ヒント
- 既存キーに代入すると上書きされる
$person['age'] = 21;