概要
[['name' => '太郎', 'age' => 20], ['name' => '花子', 'age' => 22], ...] のように 連想配列を要素として並べた配列 は、実務で最頻出のデータ形だ。1 件 1 件が「ユーザー」「注文」「商品」のような レコード (オブジェクト) で、その並びが「一覧」になる。DB の SELECT 結果・JSON 配列・CSV のヘッダー付きパース結果 はすべてこの形で返ってくる。
この章で身につけたいのは「1 件 = 連想配列、その並び = 添字配列」という構造の読み方。$users[0]['name'] のように「添字でレコードを取り出し → キーでフィールドを取り出す」という 2 段階アクセスができれば、データベース風のデータをすぐ扱えるようになる。これは ch08 (連想配列の中に配列) と キーと添字の順が逆 で、混同しないことが重要。
走査の基本は foreach ($users as $user) { echo $user['name'] . "\n"; }。外側 foreach で 1 件ずつレコードを取り出し、内側ではキー (['name'] など) でフィールドを取り出す。レコード数が増えても書き方は変わらない。次章 ch10 ではこの形を 条件検索 に発展させ、ch11 では CSV を ヘッダー付きで この形にパースする方法も扱う。「テーブルの行 = 連想配列、テーブル全体 = 連想配列の配列」のイメージを持っておくと、後の章のデータ構造がすべて繋がって見える。
学習目標
[['name' => '太郎', 'age' => 20], ...]の形を読める・書ける- DB の検索結果や JSON 一覧でよく出るデータ形式だと知る
foreachで 1 件ずつ取り出し、各キーにアクセスできる
ドリル
| no | 内容 |
|---|---|
| 01 | users 配列から全員の名前を foreach で出力 |
📝 演習: ドリル 01 — 全員の名前を出力
問題
次のデータが与えられています。
$users = [
['name' => '太郎', 'age' => 20],
['name' => '花子', 'age' => 25],
['name' => '次郎', 'age' => 18],
];foreach を使って、全員の名前を 1 行ずつ上から順に出力してください。
期待される出力:
太郎
花子
次郎ヒント
foreach ($users as $user) { echo $user['name'] . "\n"; }