概要
連想配列 は「キーと値をペアで持つ配列」のこと。['name' => '太郎', 'age' => 20] のように、キー => 値 の形でデータを並べる。['太郎', 20] のような添字配列 (0, 1, 2... の数字で要素を取り出す) と違って、$user['name'] のように 意味のあるキー で値にアクセスできるのが特徴で、データに「ラベル」を貼って扱いたい時に使う。
ポイントは、PHP では添字配列と連想配列が 同じ array 型として扱われる こと。数字キーと文字列キーを 1 つの配列に混ぜることもできる (ただし実務ではあまり推奨されない)。多くの言語では「配列」と「辞書 (dict / map / hash)」が別物だが、PHP ではどちらも array の 1 機能として統一されている。この特殊性が、後の章で foreach やソートを学ぶ時に「どっちの配列でも同じ書き方で動く」というメリットにつながる。
この章ではまず 連想配列を作る ところから始める。=> (アロー) でキーと値を結びつける構文を体に入れて、$arr['key'] で値を取り出す感覚を掴むのが目標。標準入力からキーと値を読み込んでその場で連想配列を組み立てるドリル 03 まで進めば、後続の追加・走査・ソートに必要な土台が揃う。
学習目標
- キーと値をペアで持つ「連想配列」が書ける
['name' => '太郎']の=>の意味を言える$arr['name']でキーを指定して値を取り出せる
ドリル
| no | 内容 |
|---|---|
| 01 | name => 太郎 だけの連想配列を作って値を出力 |
| 02 | name / age / city の 3 キーを持つ連想配列を出力 |
| 03 | 標準入力から key=値 の形式を 2 行読んで連想配列を組む |
📝 演習: ドリル 01 — name キーだけの連想配列
問題
キー name、値 太郎 を持つ連想配列を作り、$arr['name'] で値を取り出して 1 行出力してください。
期待される出力:
太郎ヒント
$person = ['name' => '太郎'];echo $person['name'] . "\n";
📝 演習: ドリル 02 — 3 つのキーを出力
問題
以下のキーと値を持つ連想配列を作ってください。
| キー | 値 |
|---|---|
| name | 太郎 |
| age | 20 |
| city | 東京 |
name, age, city の順に値を 1 行ずつ出力してください。
期待される出力:
太郎
20
東京ヒント
['name' => '太郎', 'age' => 20, 'city' => '東京']のように 3 キー入れるecho $arr['name'] . "\n";を 3 回書けば OK
📝 演習: ドリル 03 — 標準入力から連想配列を組む
問題
標準入力から キー=値 形式の文字列が 2 行入力されます。
これを連想配列に格納し、キー name の値と age の値をこの順で 1 行ずつ出力してください。
入力例:
name=太郎
age=20
期待される出力:
太郎
20ヒント
- 2 行ループで
$line = trim(fgets(STDIN)); explode('=', $line)でキーと値に分割[0]がkey、[1]がvalue$person[$key] = $value;で連想配列に追加