連想配列

連想配列はインデックスを整数でなく、文字列などのキーにした配列です。 key-value データ(キーと値) ともいわれ、キーと値の区切りは => で区切ります。

'key1' => 'value1'

これを、連想配列にするには [ ] で囲みます。

[ 'key1' => 'value1' ]

さらに「 , 」(カンマ)で区切って key-value を複数設定できます。

[
	'key1' => 'value1',
	'key2' => 'value2',
	'key3' => 'value3',
	...
]

連想配列の定義

では実際に連想配列を定義してみましょう。キャラクターの変数 character を例にしてみます。

id name job level hp mp exp
1 アリス wizard 1 15 0 0

この表を連想配列で表現すると以下のようになります。

$character = [
    'id' => 1,
    'name' => 'アリス',
    'job' => 'wizard',
    'level' => 1,
    'hp' => 15,
    'mp' => 0,
    'exp' => 0,
];
var_dump($character);
結果
array(6) {
  ["id"]=>
  int(1)
  ["name"]=>
  string(12) "アリス"
  ["job"]=>
  string(6) "wizard"
  ["level"]=>
  int(1)
  ["hp"]=>
  int(0)
  ["exp"]=>
  int(0)
}

連想配列のアクセス

連想配列のデータを取得するには、配列名にキーを指定します。配列のインデックスが、文字列のようなキーになったと考えればよいでしょう。

配列[キー]

character データをキーで取得する

連想配列 character のキーを指定して表示します。

echo $character['id'];
echo PHP_EOL;

echo $character['name'];
echo PHP_EOL;

echo $character['level'];
echo PHP_EOL;

echo $character['exp'];
echo PHP_EOL;

連想配列を更新する

連想配列のキーを指定して値を代入します。

キーが exp のデータを更新する

$user['exp'] にデータを代入して更新します

$character['exp'] = 5;

character にキーと値を追加する

連想配列に新たなキーと値を追加することができます。

$character['sword'] = '銅のつるぎ';
結果
銅のつるぎ

問題1

以下の表のデータを連想配列で作成してみましょう。

id name price amount is_sale
1 コーヒー 150 5 true

問題2

作成した連想配列を使って、それぞれのデータをHTMLで表示してみましょう。

PHP超入門