「foreach文」「while文」「繰り返し処理の中断」「スキップ」について
foreach文とは
foureach(読み:フォーイーチ)文とは、配列の要素の数だけ繰り返しを行う制御文。
foreach文を使った繰り返し処理
$array = {"あ", "い", "う"}
foreach (配列を指定 as 配列の値を代入する変数) {
//繰り返し実行する処理
}
$moneys = array(100, 300, 500, 1000); //金額の指定
$total = 0; //合計額
foreach ($moneys as $value) {
var_dump($value);
$total += $value;
}
echo $total;
int(100)
int(300)
int(500)
int(1000)
1900
foreach文で配列要素のキーを取得する
$array = {"あ", "い", "う"}
foreach (配列を指定 as 配列のキーを代入する変数 => 配列の値を代入する変数) {
//繰り返し実行する処理
}
$array = array("100" => "和食", "101" => "中華", "102" => "洋食");
foreach ($array as $key => $value) {
echo "キーは$key 値は$value";
}
キーは100 値は和食
キーは101 値は中華
キーは102 値は洋食
別例↓
//多次元配列を用いた例
$me => [
'家族' => [
'母' => [
'身長' => '155㎝',
'体重' => '55kg',
'血液型' => 'A',
'生年月日' => 'xx年xx月xx日'
]
'父' => [...]
]
$MyMother = $me['家族']['母']
foreach($MyMother as $key => $person) {
//処理
}
//この場合は $keyに['母']、$personに母の情報('身長'から'生年月日'まで)が入る。
while文とは
while(読み:ホワイル)文とは、条件が成立している間、処理を繰り返し実行する制御文
同じ繰り返し処理をであるforeach文との違いは、繰り返しの回数があらかじめ決まっていないところ。
while文を使った繰り返し処理
while (条件) {
//繰り返しの中で実行される処理
}
while文では、条件が成立する限り処理を繰り返す。
$i = 0;
while ($i < 5) {
echo $i;
$i++;
}
0
1
2
3
4
while文の注意点
常に成り立つような条件を書いてしまうと、処理を永遠に繰り返してしまう。
これを「無限ループ」という。
//無限ループの例
$i = 0;
while ($i < 5) {
echo $i;
}
0
0
0
........
iを加算する処理が入っていないため、ずっと0が続く。
do-while文を使った繰り返し処理
while文との違いは、条件が成立しなくても必ず一度は処理を実行する。
(条件を処理の下に書くため、必ず一度は処理が実行される。)
do {
//繰り返しの中で実行される処理
} while(条件)
$i = 0;
do {
echo $i;
$i++;
} while($i < 2);
0
1
処理を中断したいとき
break:その break 文が存在するループ処理を中断できる。
return:その return 文が存在する関数の処理を中断できる。
for ($i = 0; $i < 10; $i++) {
if ($i <= 5) {
break;
}
echo $i;
}
1
2
3
4
5
for ($i = 0; $i < 10; $i++) {
if ($i <= 5) {
return;
}
echo $i;
}
1
2
3
4
5
ループをスキップしたとき
「continue」文を使って処理をスキップし、次の回に移る。
for ($i = 0; $i < 5; $i++) {
if ($i == 2) {
continue;
}
echo $i;
}
0
1
3
4
この記事が気に入ったらサポートをしてみませんか?