#foreachを使う
###foreachとは
配列の値を複数表示させる時に使います。
$members = [
'name' => '鈴木',
'height' => 172,
'hobby' => '野球'
];
foreach($members as $member){
echo $member;
}
説明すると、$members
という連想配列があったとして、foreach
の($members as $member)
とありますが、これは$members
を$member
という変数で展開するという事です。従って、変数$member
は$value
等配列に関係性のあるものの名前にすると分かりやすいです。
ブラウザで見るとこのように表示されます。$members
のバリューが表示されているのが分かります。
では、バリューだけでなくキーの値も取得したい場合はどうかけば良いでしょうか。
$members = [
'name' => '鈴木',
'height' => 172,
'hobby' => '野球'
];
//キーとバリューそれぞれ表示
foreach($members as $member => $value){
echo $member . 'は' . $value;
}
このように書きます。$member
に=> $value
と追加されているのがわかると思います。
ではこれをブラウザで見るとどうでしょうか。
このようにキーとバリュー両方の値が取得出来ているのが分かります。
$members_1 = [
'鈴木' => [
'height' => 172,
'hobby' => '野球'
],
'田中' => [
'height' => 168,
'hobby' => '野球'
]
];
}
ではこのような場合はどうでしょう。
foreach($members_1 as $member){
echo $member;
}
先ほど同様このようにかけば表示出来そうです。ではブラウザを見てみましょう。
しかし期待したようには表示出来ませんでした。これは、$members_1
という配列の中に'鈴木'
と'田中'
という配列があり、この配列も展開してあげなければいけないためです。そのため、foreach
の中にforeach
を書いて展開してあげる必要があります。
//多段階の配列を展開
foreach($members_1 as $member_1){
foreach($member_1 as $member){
echo $member;
}
}
このように、多段階の配列を展開する場合はこのようにforeach
のなかにforeach
で展開してあげるといいと思います。ブラウザはこのようになりました。
このように'鈴木'
と'田中'
の配列の値が取得出来ました。
キーとバリューを取得したい場合でも先ほどと同様に=> $value
などをつけてあげると両方取得する事ができます。
今回はforeachについて自分なりに書いてみました。最後まで見ていただいてありがとうございます!!
ご意見、ご指摘等ありましたらどんどんお願いします!