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

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

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

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

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

公開日:2017年6月5日

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文の基礎が理解できましたか?

Udemyおすすめ講座

PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】

PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】

4.5(2,349 件の評価)

14,816 人の受験生

作成者: 世界のアオキ (Akihiro Aoki)(生成AI術師/システムエンジニア/キュレーター/Webマーケッター)

PHP初歩からLaravelまでをつなぐように知識を網羅しています。連想配列や関数からフォーム(HTTP)/セキュリティ/PDO/クラスなど。composer/名前空間などを使った現代的な開発方法を体験することができます。

\無料でプレビューをチェック!/

講座を見てみる

評価:★★★★★
PHPの基礎からLaravelの概要まで学べて良かったです。Laravelはいろんな機能があり、どこを触るのか大変でしたが、学習は続けていき、この講座も見直しに来ると思います。Laravel第2弾以降も受講しますので、今後が楽しみです!

評価:★★★★★
ララベルの学習にあたっていろいろなサイトや動画や見漁ったのですが、このUdemy講座が一番わかりやすかったです!!!