#はじめに
入社予定の会社がPHPを使用しており、入社までの勉強としてPHPで学んだことをアウトプットしてきたいと思っています。
今回はPHPのforeach文について、記事にしております。
#foreach文とは
配列や連想配列などのまとまったデータに対して、先頭の要素から順に繰り返し処理を行うための構文です。
#配列と連想配列とは
以下URLよりご確認できます。
#繰り返し処理であるforeach文と、while文・for文の違い
whileやforは任意の条件での反復処理が行いやすいのに対し、foreachは配列や連想配列に対しての反復処理が行いやすいという特徴があります。
foreach文では、配列の要素がある分だけ繰り返し処理したらループを抜けることができます。
#foreach文の書き方
書き方としては配列と連想配列で使う場合があります。
asの後ろの変数に、ループの度にデータが先頭から順に代入されていきます。
asの後ろの変数名は任意で決めることができます。
(配列で使う場合)index.php
<?php
foreach ( $配列の変数 as $配列が順に格納される変数 ) {
// ループ処理をここへ記述
}
?>
(連想配列で使う場合)index.php
<?php
foreach ($配列の変数 as $キー変数 => $キー名にリンクする配列に格納された値が格納される変数){
//ループで実行される処理
}
?>
※「$キー変数 =>」は省略可能です。
#具体的な書き方の例①
index.php
//配列の定義
$subjects = array('算数', '理科', '国語');
//ループ処理
foreach ($subjects as $subject) {
echo $subject;
}
//出力結果
算数理科国語
index.php
//連想配列定義
$scores = array('算数' => 70, '理科' => 90, '国語' => 80);
//ループ処理
foreach ($scores as $key => $value){
echo '{$key}は{$value}点です。';
}
//出力結果
算数は70点です。理科は90点です。国語は80点です。
##具体的な書き方の例②
index.php
<?php
//配列の定義
$prices = array(100, 200, 300, 400);
// 金額の合計値を入れるための変数を定義する。そのため0を$totalに代入しておく。
$total = 0;
//ループ処理
foreach ($prices as $price) {
// 各金額(各配列の要素)を$totalに足していく
$total += $price;
}
echo '合計金額は'.$total.'円です。';
?>
//出力結果
合計金額は1000円です。
#参考記事
以上です