連想配列
連想配列はインデックスを整数でなく、文字列などのキーにした配列です。 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で表示してみましょう。