章: 第2章: 配列とデータ処理
「配列の0番目って何のデータだっけ?」——連想配列なら名前で迷いません
添字配列は番号で管理するため、要素数が増えると「0番目が名前で、1番目が年齢で……」と覚えるのが大変になります。連想配列はキーに名前をつけられるため、データの意味がコードから直接読み取れます。
まずコードを動かしてみる
<?php
$user = ['name' => 'Ken', 'age' => 28];
echo $user['name'];
'name' というキーで値を取得しています。数字の添字と違い、意味のある名前でアクセスできます。
添字配列 vs 連想配列の比較
| 添字配列 | 連想配列 | |
| キー | 0, 1, 2… | 任意の文字列・整数 |
| 取得 | $arr[0] |
$arr['key'] |
| 意味の明確さ | 番号だけでは不明 | キー名で意図が伝わる |
| 用途 | 同種データのリスト | 構造化されたデータ(ユーザー情報など) |
悪い例(添字配列でユーザー情報を管理)
<?php
$user = ['Ken', 28, 'Tokyo']; // 0が名前、1が年齢、2が都市——覚えていないと読めない
echo $user[0]; // 何のデータかわからない
良い例(連想配列で意味を明示)
<?php
$user = ['name' => 'Ken', 'age' => 28, 'city' => 'Tokyo'];
echo $user['name']; // 一目でわかる
チェックポイント: 存在しないキーにアクセスすると
Notice: Undefined indexが発生します。キーの存在を事前に確認するにはisset($arr['key'])またはarray_key_exists('key', $arr)を使いましょう。null と未定義を区別したい場合はarray_key_existsが正確です。
foreachで連想配列を走査する
<?php
$user = ['name' => 'Ken', 'age' => 28, 'city' => 'Tokyo'];
foreach ($user as $key => $value) {
echo "{$key}: {$value}" . PHP_EOL;
}
まとめ & 次のステップ
- 連想配列は文字列キーでデータに名前をつけて管理できる
- ユーザー情報・設定値・フォームデータなど構造化データに最適
- 添字配列より「データの意味」がコードから読み取りやすくなる
- 存在しないキーには
isset()かarray_key_exists()で事前確認する foreach ($arr as $key => $value)でキーと値を同時に走査できる
次回は 多次元配列を学びます。ユーザーリストや商品一覧など、実務でよく登場する「配列の中に配列」を扱います。