フリーPHPスクリプト配布サイト。
配列では各値は順に0番目、1番目、2番目…となっていましたが、数字ではなく文字のキーをもとにして値を設定した配列を連想配列と呼びます。連想配列を作成するには、以下のように書きます。
<?php
$fruit["apple"] = "リンゴ";
$fruit["orange"] = "ミカン";
$fruit["grape"] = "ブドウ";
echo $fruit["apple"];
echo $fruit["orange"];
echo $fruit["grape"];
?>
上の例では apple
と リンゴ
、orange
と ミカン
、grape
と ブドウ
がそれぞれ対になっています。配列のように「0番目の値」「1番目の値」となるのではなく、「appleの値」「orangeの値」というように設定します。
配列は以下のように、複数の箱が連なり、それぞれに名前がついているイメージです。
上の例での連想配列 fruit
の内容を表にすると、以下のようになります。
表記 | 意味 | 値 |
---|---|---|
$fruit["apple"] |
$fruit の apple の値 |
リンゴ |
$fruit["orange"] |
$fruit の orange の値 |
ミカン |
$fruit["grape"] |
$fruit の grape の値 |
ブドウ |
配列のときと同様、array
関数で一度に値をセットする事ができます。具体的には、以下のようなプログラムです。
<?php
$fruit = array("apple" => "リンゴ", "orange" => "ミカン", "grape" => "ブドウ");
echo $fruit["apple"];
echo $fruit["orange"];
echo $fruit["grape"];
?>
これを実行すると、ブラウザに リンゴ
、ミカン
、ブドウ
の文字列がそれぞれ表示されます。=>
を使って、連想配列のキーと値を設定することができます。
配列の場合と同様 foreach
制御文を使うと、連想配列の個々の内容に対して順に処理を行うことができます。
<?php
$fruit = array("apple" => "リンゴ", "orange" => "ミカン", "grape" => "ブドウ");
foreach ($fruit as $key => $value) {
echo "$key ... $value<br />\n";
}
?>
このように書くと、配列 $fruit
のキーと値が先頭から順に $key
と $value
という変数に代入され、繰り返し処理されていきます。つまり、$fruit
の内容が改行区切りですべて表示されます。