これで完璧!PHP while文の基礎!breakとcontinueの違いも紹介

これで完璧!PHP while文の基礎!breakとcontinueの違いも紹介

プログラミング言語PHPのwhile文について、Web開発経験のある筆者が初心者向けに丁寧に解説します。

見やすい図を使いながら、PHP while文について解説しています。

本記事を読めば、PHP while文の書き方・使い方、breakとcontinueの違い、無限ループについて理解できるでしょう。

ぜひ最後まで読んで、PHP while文の基本を理解してください!

 

PHP while文の書き方

while文では、条件式を書くだけでループ処理ができます。構文は以下の通りです。

PHP while文の書き方解説画像

while文では、条件式を評価し結果が正しい場合(true)にはwhile内の処理を実行します。

そして、再度条件式の評価を行い結果が正しい場合(true)はwhile内の処理を繰り返します。

もし、評価結果が誤り(false)の場合にwhile文を抜け、次の処理を行います。

では、次の項で実際にwhile文を使ってみましょう。

 

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

PHP while文を実際に使ってみよう

サンプルソース1は、whileを使ってカウンタの値を繰り返し出力する例です。

①:変数countを「0」で初期化する。

②:while文の条件式:$countが5以下のときは、繰り返し処理を実行。

③:処理を実行:$countの値を出力する。

④:$countの値を1足す

⑤:②のwhile文の条件式処理へ移動。条件式がtrueのときはループを続行、falseのときはループを中断する。

 

PHP while文におけるbreak

while文のループ中で,特定の条件になったら処理を中断したい場合には「break」文を実行しましょう。

break文を使うことでwhileのループ処理から抜けることができます。

構文は以下の通りです。

それでは、簡単なbreakを使う例を見てみましょう。

サンプルソースコード1のwhile文では変数を0〜5を出力するプログラムでした。

今回のサンプルソースコード2では、if条件により変数のcountが3より大き良いときは、breakによってwhileの繰り返し処理を終了する処理が追加されています。

実際に出力結果をみると3からあとの数字は出力されていないことがわかります。

 

PHP while文におけるcontinue

先程のbreakではwhile文のループ自体を強制終了しました。もし、ある周回のループでの処理をスキップしたいような処理を実現したい場合はcontinueを使用します。

構文は以下の通りです。

では、サンプルソースコード3を見てみましょう。

変数のcountの値0〜5を出力するプログラムですが、変数countが3の時はその周回をスキップしたいです。

continueが実行されるとcontinueと記載した以降の処理がスキップされ、次の周回処理に移ります。

実行結果をみると実際に3の場合スキップされておりは出力されていませんが、while文のループが継続的におこなわれているため,4〜5が出力されていることがわかります。

 

PHP while文の無限ループについて

プログラムが終了しないように記載したループを「無限ループ」と呼びます。while文で無限ループを実現するには下記のように記載します。

条件式の値を常に成立を意味する1またはtrueと記載することで、半永久的にループが実施されます

但し、処理が終わらないプログラムはPCへ負担をかけ続けることになります。

最終的にはプログラムがクラッシュする可能性もあります。

通常はこのような無限ループ処理は意図して書くというよりも、記載ミスで無限ループとなってしまうケースが多いです。例えば、下記のようなケースです。

サンプルソースコード4は、サンプルソースコード1中のインクリメント処理$count++;を記載し忘れた場合を想定しています。実行結果をみるとそれによって無限ループが発生していることがわかります。

この様に、while文を書くときは処理が意図していない無限ループにならないように気をつけましょう。

いかがでしたか?PHP while文の基礎が理解できましたか?