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

web開発

2017/06/05

web開発

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

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

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

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

 

PHP while文の書き方

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

PHP while文の書き方解説画像

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

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

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

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

 

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の講座を用意しています。

ぜひ受講して、PHPをマスターしてみてはいかがでしょうか?

目的別!最先端ITスキル講座

海外の人気講師によるWeb制作のベストセラ―講座

【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版)
【世界で30万人が受講】フルスタック・Webエンジニア講座(2017最新版)

ウェブデザインの基礎、サーバーサイドプログラミング、モバイルアプリ開発、APIプログラミングなどを網羅的にマスターできる

最新!iOS11アプリ開発講座

【6日で速習】iOS 11 Swift 4アプリ開発入門 決定版 20個のアプリを作る ARKit,CoreML,NFC
【6日で速習】iOS 11 Swift 4アプリ開発入門 決定版 20個のアプリを作る ARKit,CoreML,NFC

地図検索、ARなど20個以上のアプリを作って学べる実践講座

日本を代表するデータサイエンティスト辻真吾氏による人気講座

【世界で5万人が受講】実践 Python データサイエンス
【世界で5万人が受講】実践 Python データサイエンス

データ解析の基本、可視化、統計、機械学習などデータサイエンスに関するあらゆる実践的なスキルがPythonで身に付く!

初級者から学べる人工知能講座の決定版

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

初心者向けの人工知能と機械学習のコース。文字認識や株価分析なども実施

  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー
  • シェア
  • ツイート
  • Poket
  • はてなブックマーク
  • フォロー

関連記事