連想配列 × 配列
テクノロジ系 / array-multi (多次元配列・オブジェクトリスト・CSV)
連想配列 × 配列
Lesson 6 / Chapter 8
連想配列の値に配列を入れられる
<?php
$data = [
'users' => ["太郎", "花子", "次郎"],
'count' => 3,
];
print_r($data);- キー
'users'の値は配列 - キー
'count'の値は整数 - 連想配列の各値は 何でも入る (数値・文字列・配列・連想配列...)
ネストした要素にアクセス
<?php
$data = [
'users' => ["太郎", "花子", "次郎"],
'count' => 3,
];
echo $data['users'][0] . "\n"; // 太郎
echo $data['users'][1] . "\n"; // 花子
echo $data['count'] . "\n"; // 3$data['users']で配列を取り出す- そのあと
[0]でその配列の 0 番目 - キー → 添字 → ... と外側から順にたどる
全部 1 つの式で書ける
$data['users'][0]
これは段階的に読むと:
$data['users']→["太郎", "花子", "次郎"]["太郎", "花子", "次郎"][0]→"太郎"
→ 連想配列の中の配列でも、添字アクセスのルールは同じ。
さらにネストもできる
<?php
$data = [
'company' => [
'name' => "サンプル株式会社",
'employees' => ["太郎", "花子"],
],
];
echo $data['company']['name'] . "\n"; // サンプル株式会社
echo $data['company']['employees'][0] . "\n"; // 太郎- 値にさらに連想配列、その中にまた配列、と何段でもネストできる
- 多段になるほど読みにくくなるので、必要な深さに留める
このチャプターでできるようになること
✅ 連想配列の値に配列を持たせられる
✅ $data['key'][0] で配列の要素を取り出せる
✅ さらに $data['key1']['key2'] のような多段アクセスも書ける
✅ 「外側のキーから順に内側へ」と添字をたどる感覚を持っている
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — 連想配列の中の配列にアクセス
問題
次のデータが与えられています。
$data = [
'users' => ["太郎", "花子", "次郎"],
'count' => 3,
];$data['users'] の最初の要素 (太郎) を出力してください。
期待される出力:
太郎
採点
php scripts/grade.php topics/array-multi/ch08-assoc-multi/drill/01-nested-key/
ヒント
$data['users']で配列を取り出す- そのあと
[0]で 0 番目 - まとめて
echo $data['users'][0] . "\n";