見出し画像

PHP I(Progate) 学習内容④

▼繰り返し処理
1から100までの数値を出力するときのように
繰り返しで何かを行いたいときには繰り返し文を用います。
繰り返し文を使うことで、繰り返しの処理(ループ処理)を
以下の図のようにたった数行で書くことが出来ます。

echo 1;
echo 2;
echo 3;



echo 100;

for($i = 1;$i <= 100;$i++){
echo $i;
}

▼for文
for文を用いることで繰り返し処理を行うことができます。
図の例では、変数$iに1を初期値として与え、「echo $i;」を
行っています。その後はループの条件を満たさなくなるまで
値の更新「$i++」と、「echo $i;」を繰り返し行います。


for($i = 1;$i <= 100; $i++){
 ↑    ↑   ↑
  ①初期化②ループ条件③変数の更新
 
echo $i;
 ↑
 ③繰り返す処理
}

☆例☆
for ($i = 51; $i <= 100; $i++){
echo $i;
echo "<br>";


▼while文
while文もfor文と同様に、繰り返し処理の一つです。
条件式を指定し、それがtrueの間、処理が繰り返し
実行されます。for文の時のように変数$iが自動的に
増えていかないため、ここではループのたびに「$i ++;」を
行っています。

$i = 1;   ①初期化
while($i <= 100){ ②ループの条件
echo $i;  ③繰り返す処理
$i++  ④変数の更新
}


▼無限ループ
無限ループとは条件式が何周してもtrueのままで
永遠に終了しないループのことです。無限ループは
コンピューターに極端な負担を与えてしまうため、
ループ処理を記述する際は条件式がどこかでfalseに
なるように気をつけなければいけません

$i = 1;
while($i <= 100){
echo $i;
}


☆例☆ ※理解度▲

// 変数$iを定義してください
$i = 2;

// while文を書いてください
while ($i <= 100) {
if ($i % 2 == 0) {
echo $i;
echo '<br>';
}
$i++;
}


▼break
break文は現在のループを強制的に中断する命令です。
for, while, foreachなどの繰り返し文の中で利用できます。
break文はif文などの条件文と組み合わせて利用するのが一般的です。

for($i = 1;$i <= 10;$i++){
if($i > 5){
break; ←$1の値が6になった段階でfor文終了
}       
 echo $i;
}
//結果;12345

☆例☆

for($i = 1;$i <= 1000;$i++){
if($i > 500){
break;
}
echo $i;
echo "<br>";
}


▼continue
ループそのものを完全に抜けてしまうbreak文に対して
continue文は現在の周だけをスキップし、ループそのものは
継続して実行します。continue文もfor, while, foreachなどの
繰り返し文の中で利用できます。

for($i = 1;$i <= 10;$i++){
if($i % 3 == 0 ){
continue; ←$1の値が3の倍数の時その週のループを終了し
}        次のループを実行     
 echo $i;
}
//結果;tel:12457810


☆例☆

for($i = 1;$i <= 1000;$i++){
if($i % 3 == 0){
continue;
}
echo $i;
echo "<br>";

}


▼foreach
foreach文とは、配列または連想配列に対して、
先頭のデータから順に繰り返し処理を行うための命令です。
以下のように配列のデータを1つずつ取り出して処理を行うことが出来ます。
「as」の後ろの変数に、ループの度にデータが先頭から順に代入されていきます。
asの後ろの変数名は何を指定しても大丈夫です。

$towns = array("東京","大阪","京都");
foreath($towns as $town) {
echo $town."";
}
//結果:東京 大阪 京都


▼foreachの書き方(1)
foreach文では、配列内のデータが順次「キー変数」、
「値変数」に代入され、それに対して処理が繰り返し適用されます。
「キー変数」には、配列のときはインデックス番号が、連想配列のときは
キーが代入されます。ただし、「キー変数」の部分は省略可能です。

foreath(配列 as 値変数 ) {
繰り返したい処理;
}

foreath(配列 as キー変数 => 値変数 ) {
繰り返したい処理;
}


▼foreachの書き方(2)
foreach文は理解しにくいので少し例を見てみましょう。
図の配列は、果物の名前を「キー」として、その色を
「値」として保持している連想配列です。
1周目のループでは$keyに'Apple'、$valueに'Red'が、
2周目のループでは$keyに'Banana'、$valueに'Yellow'が入っています。

$colors = array (
"Apple" => "Red";
"Banana" => "Yellow";
"Grape" => "Purple";
);
foreath($colors as $key => $value) {
echo $key.":".$value."";
}


☆例☆

$scores = array('数学' => 70, '英語' => 90, '国語' => 80);

foreach ($scores as $key => $value){
echo $key."は".$value."点です";
}
結果//数学は70点です英語は90点です国語は80点です

いいなと思ったら応援しよう!