【PHP】連想配列

Image

配列では値が格納されている箱を連続した番号で管理していました。連想配列は箱を番号ではなく文字列で管理する配列です。

// 構文
$配列名["文字列"] = 値;

// 記述例
array-03.php

<?php

  // 連想配列を定義して値を代入
  $week["sunday"]       = "日曜日";
  $week["monday"]       = "月曜日";
  $week["tuesday"]      = "火曜日";
  $week["wednesday"]    = "水曜日";
  $week["thursday"]     = "木曜日";
  $week["friday"]       = "金曜日";
  $week["saturday"]     = "土曜日";

  // 配列の内容を出力
  print_r($week);

?>

Demo

上の例は、$weekという配列の中に各種曜日に応じた箱を作っています。その箱の中の値を$week[“○○○”]内の文字列をキーに参照しています。イメージとしては以下のような感じです。

1. $weekという箱を用意。

2. $weekの箱に小さい箱を7つ入れる。

3. 7つの小さい箱に「sunday ~ saturday」までのシールを貼る。

4. 日~月曜日を書いた紙を用意する。

5. シールと紙の曜日が対になるように箱に入れる。

6. 箱のシールを元に中の紙を見る。

$week
sunday monday tuesday
日曜日 月曜日 火曜日
wednesday thursday friday saturday
水曜日 木曜日 金曜日 土曜日

連想配列は、通常の配列と比べてソースが読みやすくなります。また、配列の中の箱をキーワードで管理するため、値が想像しやすいというメリットがあります。

One Point

print_r()は変数の内容を解りやすい情報として出力する!

array関数

連想配列においてもarray関数が使用できます。array関数を使用して複数のキーと値を一度にセットできます。値とキーを対応付けるには => を使用します。=> はダブルアロー演算子と呼ばれています。

// 構文
$配列名 = array(キー1 => 値1, キー2 => 値2, ……);

// 記述例
array-04.php

<?php

// array関数でキーと値をセット
$week = array(
"sunday"    => "日曜日",
"monday"    => "月曜日",
"tuesday"   => "火曜日",
"wednesday" => "水曜日",
"thursday"  => "木曜日",
"friday"    => "金曜日",
"saturday"  => "土曜日"
);

// 連想配列の内容を出力
print_r($week);

?>

Demo