chiencof’s diary

bb18台です。書道と服に興味があります。

インターンシップ10回目

 

こんにちは。

ちえです。

最近ようやく暖かくなり、春らしい陽気になってきました🌸

桜の季節が待ち遠しいです!あと桜餅食べたい!まだまだ花より団子です🍡

 

さて今回も前回に引き続きphpです!

今回は条件分岐とループを多中心に学びました。

 

しかし!ここで問題が発生しました…

いつもインターンシップ前に課題をして復習をしているのですが、まぁ見事にエラーが続き、文字化けと親友になりました(しんどい…)。あのアルファベットと中国語の混合言語はトラウマになります、。

その後のインターンシップ中もエラーが続きましたが、i社長やメンバーのみんなに助けてもらってエラーから抜け出すことができました。本当に面倒かけてすみません…感謝しかないです!!🙇‍♀️

エラーの原因はおそらくhtmlの言語設定段階での誤字と、サクラエディタファイルをデスクトップから開かなかったことだと判明しました。

そこ?!?みたいな初歩の段階でつまづいていました…インターンシップ10回目にしてなにをしているのでしょうね😇

十分に対策できる部分なので今後は気を付けていきたいと思います!!確認大事ですね!

 

 

だいぶ本題からそれましたが、今回もアウトプットしていきたいと思います!

今回は制御構文(ループ)の

① for文

②while文

③foreach文

④breakとcontinue 

について書いていきます!

どうぞ最後までお付き合いください〜

またブラウザでの表示は太字で書いています。

 

① for文

まずはfor文についてです。

以下のものは初期値を0と宣言して、5以下ならば$iに+1をしていくという条件式になっています。

 

for($i = 0; $i <= 5; $i++){
     echo("この店の人気度は").$i.("です。<br>");

}

ブラウザでは

この店の人気度は0です。

この店の人気度は1です。

この店の人気度は2です。

この店の人気度は3です。

この店の人気度は4です。

この店の人気度は5です。

と表示されます。

5以下という条件式に当てはまらないと処理はされず、終了します。当てはまる間はずっとループするという流れです!

 

②while文

次にwhile文についです。

やっていること上記のfor文と変わらず、for文と同じ結果を出すことできますが、いくつかの違いがあります⬇️

 

【 for文とwhile文の違い 】

● for文は初期処理をするが、while文は条件式に合わなければ処理をしない場合がある。

●while文は条件式と別に変数加算が必要である(if文は条件式に入れる)。

⚠️while文では変数加算がないと無限ループになってしまい、ブラウザに負担を

かけてしまうため必ず必要です!

 

よって上記のfor文と同じ表示にするときのwhile文では

$i = 0;

while($i <= 5){

     echo("この店の人気度は").$i.("です。<br>");     

     $i++; 

}


ブラウザではfor文と同様に

この店の人気度は0です。

この店の人気度は1です。

この店の人気度は2です。

この店の人気度は3です。

この店の人気度は4です。

この店の人気度は5です。

と表示されます。

 

③foreach文

続いてにforeach文についです。

配列とセットで使うことが特徴です。

 

$FavColor = array(

                     "1位"=>"あか"

                     "2位"=>"あお"

                     "3位"=>"きいろ"

                     "4位"=>"みどり");

foreach ($FavColor as $name ) {
echo("私の好きな色は").$name.("です。<br>");

}

 

ブラウザでは

私の好きな色はあかです。

私の好きな色はあおです。

私の好きな色はきいろです。

私の好きな色はみどりです。

となります。

array配列の順と同じように上から順に表示されているのがわかります。

あとはasを忘れないように注意!

 

④breakとcontinue

最後にbreakとcontinueについてです。

まずbreakは処理を中断・終了させる時に使用します。

まな下記のようにwhile文とif文とともに用いると、ループで繰り返しながら条件に当てはまれば処理を中断・終了することができます。

 

$i = 0;

while($i < 10) {
         if($i === 5){

                break;

         }

         echo $i. "<br>";

         $i++;

}

ブラウザでは

0

1

2

3

4

と表示されます。

$i が 5 になると処理は中断されるので 、

$i が 4 まで表示されます。

 

次にcontinueです。これまだよくわかってなくて…😥

説明が難しいのですが、条件か当てはまり処理を中断した後でも、条件範囲内ならループを続けるやつです!おそらく!


ネットで調べたところcontinueはループをスキップすることができると書いてありました。

PHPの基本構文「continue - 繰り返し処理を飛ばす(スキップ)」 - PHP入門 - Webkaru

 

こちらのサイトのスクリプトを参考にして書いてみました!

f:id:chiencof:20200326144642j:image

この場合はブラウザで

0

1

2

3

4

処理しません。

6

7

8

9

と表示されます。

$i が 5 のときのループがスキップされていることがわかります。そしてその後も条件範囲である$i < 10までループ処理がされています。

 

またこのとき下記のスクリプトのようにcontinue を消してしまうと、

f:id:chiencof:20200326145058j:image

ブラウザでは

0

1

2

3

4

処理しません。

5

6

7

8

9

と表示されます。$i のときのループ処理がスキップされず、その後もそのままループを続けていることが分かります。

またcontinue がある方と全く同じ結果を下記の書き方でも得ることができます。

f:id:chiencof:20200326150049j:image

こちらはif文を2つ使って書いてみました。

なんか余計ややこしくなった気がします…笑

 

とりあえずcontinueはループをスキップする役割があり、そのスキップ後も条件範囲を超えるまでループ処理を続けることが分かりました。

もっと色々試してみよう思います!💪

 

今回のアウトプットはここまでです!

役割を理解しただけで活かし方をまだ考えきれてないので、これから仕事をするなかで実務ではのどのように活用することができるのか、効率的な面ではどうかなどを試して学びを深めていきたいと思います。

 

あとロゴ作成がんばります!!

ではまた次回〜