採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

連想配列 × 配列

テクノロジ系 / 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]

これは段階的に読むと:

  1. $data['users']["太郎", "花子", "次郎"]
  2. ["太郎", "花子", "次郎"][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";