導入
0, 1, 2 という番号ではなく、"name" や "price" といった名前で値を引きたいことがあります。これを可能にするのが連想配列です。1件のデータ(人・商品など)を表すのにぴったりです。
説明
連想配列は "キー" => 値 のペアを並べて作ります。取り出すときはキーを [ ] に書きます。
<?php
$user = [
"name" => "田中",
"age" => 25,
"city" => "東京",
];
echo $user["name"], "\n"; // 田中
echo $user["age"], "歳\n"; // 25歳
$user["email"] = "tanaka@example.com"; // あとから追加もできる
echo "{$user['name']}さんのメール: {$user['email']}\n";
キー => 値 の対応で覚えます。ダブルクォート文字列の中で連想配列を展開するときは、{$user['name']} のように { } で囲むのが安全です(中のキーはシングルクォート)。
連想配列も foreach で回せます。キーと値を両方使うと、一覧表示が簡単です。
<?php
$user = ["name" => "田中", "age" => 25, "city" => "東京"];
foreach ($user as $key => $value) {
echo "{$key}: {$value}\n";
}
やってみよう
$user に好きなキー(例:"hobby" => "読書")を足して、foreach の出力にそれが増えることを確かめましょう。
演習
好きな本を表す連想配列 $book を、"title" と "author" のキーで作り、"『◯◯』(著者:△△)" の形で表示してください。
ヒント1を見る
$book = ["title" => "吾輩は猫である", "author" => "夏目漱石"];
ヒント2を見る
echo "『{$book['title']}』(著者:{$book['author']})\n";