LoginSignup
0
1

More than 3 years have passed since last update.

[PHP]連想配列とforeach構文

Last updated at Posted at 2020-09-09

連想配列について

例えば以下の配列があるとする

$fruits = ['リンゴ', 'レモン', 'バナナ'];

この変数$fruitsに格納されている配列において、
リンゴを取り出したい時は以下のように記述する

print($fruits[0]);

これで取り出せたが、それぞれの値に対応する添字を覚えておかないと意味がない。
そんな時に使うのが連想配列
順番が関係ないような配列の場合によく使う。

上記の配列を連想配列のカタチにすると以下のようになる。

$fruits = [
  'apple' => 'リンゴ',
  'lemon' => 'レモン',
  'banana' => 'バナナ'
];

この時、=>の左側の部分('apple')をキー、右側('リンゴ')を値(バリュー)と呼ぶ。
※キーはなんでも良いが、見た時に誰でも理解できるようなものが良い

連想配列において、先ほどと同じようにリンゴを取り出したい時は以下のように記述する

print($fruits['apple']);

foreachについて

foreachは配列専用の構文
配列の中身を繰り返し取り出すことができる。

先ほどの$fruitsの中身(値のみ)をforeachで取り出すには以下のように記述する。

foreach ($fruits as $fruit) {
  print($fruit . "\n");
}

(見やすくするために"\n"として改行している)
このように記述すると、表示は下記の通りになる。

リンゴ
レモン
バナナ

上記例では値のみ取り出しているが、連想配列ではキーも一緒に取り出したい場合もある。
そのような場合は以下のように記述すれば良い。

foreach ($fruits as $fruit => $katakana) {
  print($fruit . ":" . $katakana . "\n");
}

表示は下記の通り

apple:リンゴ
lemon:レモン
banana:バナナ

$fruit => $katakanaの部分は
'apple' => 'リンゴ'
'lemon' => 'レモン'
'banana' => 'バナナ'
に対応しているわけですね〜


以上です。お疲れ様でした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1