プログラミング

continue文とbreak文の違いと使い方を例題4つで理解する【php】

くまさん

continue文とbreak文がなかなか理解できない・・・

こんな方向けに記事を作成しました。

phpでプログラミングしているとcontinue文とbreak文はよく見かけるかと思います。

しかし、その違いなどが最初は理解しにくいかと思います。

こちらではcontinue文とbreak文の使い方を例を挙げながら紹介していきます。

本記事の内容

・continue文とbreak文とは

・continue文とbreak文の使い方と違い

それでは始めます。

continue文とbreak文とは

そもそもcontinue文とbreak文とはどんなものでしょうか?


テキストで定義をすると、

両方とも、for, foreach, whileなどの処理で利用されるもの。

使い方

continue文:ループ処理をスキップする
break文:ループから抜け出す

ということになります。

ただ、テキストだと難しいと思うので、以下では例を使い方と違いをご説明します。

continue文とbreak文の使い方と違いを例題4つで理解する

ここからはcontinue文とbreak文を使い方を説明しながら違いについて説明していきます。

break文はループを抜け出す

break文はfor, foreach, whileなどの繰り返し処理でループを抜け出したい場合に利用をします。


ループ処理を抜け出したい部分にbreakを置くことで可能です。


それでは以下の場合はどのようになるでしょうか?

 

こちらでは5の時にループ処理から抜け出します。

実行すると以下のようになります。

このようにif内の$a == 5の場合に(もしaが5だった場合に)breakさせると処理しているので、実行内容が6回目以降が処理されていないことがわかるかと思います。

break文でループを抜け出す階層を指定する

上記では階層が1つでしたが、複数の階層の場合でもbreak文で指定することができます。


複数階層のループを抜け出したいときは以下のように記述します。

break 抜け出したい階層;

ちなみに、break;はbreak 1;と同義です。

実行するといかのようになります。

$aが「3」になったら2重ループを抜けていることがわかります。

continue文でループ処理をスキップする

continue文はfor, foreach, whileなどのループ処理をスキップしたい場合に使用します。


ループ処理をスキップしたい部分にcontinueを入れることで可能となります。


それでは以下の場合はどのようになるでしょうか?

この場合5の時にループをスキップします。


実行をすると以下のようになります。

このようにif内の$a == 5の場合に(もしaが5だった場合に)continueさせると処理しているので5の時にループをスキップしています。


今回はecho で「ループをスキップする」としているのでそのテキストだけが入っているかと思います。

continue文で繰り返し処理をスキップする階層を指定する

こちらもbreak文のように複数階層をスキップすることが可能です。

記述方法は以下です。

continue スキップしたい階層;

ちなみに、continue;はcontinue1;と同義です。

それでは以下の場合はどのようになるでしょうか?

実行してみます。

 

$aが「3」になったら2重ループをスキップしていることがわかるかと思います。

まとめ

continue文とbreak文についてまとめました。

最初はどっちかわからないかと思いますが、慣れてくるのでそこは問題ないと思います。

また、階層指定に関しても最初は難しいかもしれませんが使っていく内に、理解できてくると思うのでそんなに心配いらないと思います。

\ 当ブログのテーマ AFFINGER5

WING AFFINGER5 バナー01

SEO対策バッチリで記事を書くことに集中できる

面倒なカスタマイズもクリック1つ

今なら、タグ管理プラグイン(4,980円)の無料配布キャンペーン中!!!

-プログラミング
-