カテゴリ: PHP 更新日: 2026/01/13

PHP の break, continue の使い方を完全解説!初心者でもわかるループ制御

PHP の break, continue の使い方
PHP の break, continue の使い方

新人と先輩の会話形式で理解しよう

新人

「PHPのbreakcontinueって何ですか?」

先輩

「どちらもループ処理の中で使うものだよ。breakはループを途中で抜けるときに、continueは特定の条件をスキップして次のループに進むときに使うよ。」

新人

「ループの途中で止めたり、スキップしたりするってことですね。でも、それってどうやって使うんですか?」

先輩

「じゃあ、それぞれの使い方を詳しく説明していくね!」

-

1. breakとcontinueとは?(基本的な説明)

1. breakとcontinueとは?(基本的な説明)
1. breakとcontinueとは?(基本的な説明)

breakcontinueは、for文やwhile文などのループ処理の流れをコントロールするために使われるPHPのキーワードです。繰り返し処理の途中で、動きを変えたいときに活躍します。

breakは、条件を満たした時点でループそのものを終了させます。一方、continueは、現在の回の処理だけを飛ばして、次のループ処理へ進むという役割を持っています。

まずは、イメージをつかむために、とても簡単な例を見てみましょう。


<?php
for ($i = 1; $i <= 3; $i++) {
    if ($i == 2) {
        continue; // 2のときだけスキップ
    }
    echo $i . "<br>";
}
?>

解説:この例では、数字の「2」のときだけ処理がスキップされ、「1」と「3」だけが表示されます。もしここで continuebreak に変えると、2の時点でループ自体が終了します。

このように、breakcontinueは「処理を止める」のか、「処理を飛ばす」のかという違いがあり、ループ制御の基本としてとても重要です。

2. それぞれの役割と違い

2. それぞれの役割と違い
2. それぞれの役割と違い

ここでは、breakcontinueループの中でどのように動作するのかを整理していきましょう。どちらも似た場面で使われますが、処理の流れは大きく異なります。

  • break: その時点でループ処理を完全に終了し、ループの外へ処理が移る
  • continue: 現在のループ処理だけを途中で打ち切り、次の繰り返し処理へ進む

文章だけではイメージしにくいため、初心者の方でも理解しやすいサンプルコードで確認してみましょう。

breakの例(ループを途中で止める)


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break; // 5になったらループを終了
    }
    echo $i . " ";
}
?>

このコードを実行すると、次のように表示されます。


1 2 3 4

解説:$iが5になった瞬間にbreakが実行され、ループ自体が終了します。そのため、5以降の処理は一切行われません。

continueの例(特定の回だけスキップする)


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        continue; // 5のときだけ処理をスキップ
    }
    echo $i . " ";
}
?>

このコードを実行すると、次のように表示されます。


1 2 3 4 6 7 8 9 10

解説:continueが実行されると、その回の処理だけが飛ばされ、ループ自体は最後まで続きます。このように、「止める」のがbreak、「飛ばす」のがcontinueという違いを覚えておくと混乱しにくくなります。

3. なぜbreakやcontinueを使うのか?

3. なぜbreakやcontinueを使うのか?
3. なぜbreakやcontinueを使うのか?

breakcontinueは、ループ処理を必要な分だけ実行するために使われます。何も考えずに最後まで繰り返すよりも、状況に応じて処理を止めたり飛ばしたりすることで、プログラムは読みやすく、動きも効率的になります。

特に初心者のうちは「とりあえず全部回す」書き方をしがちですが、条件に応じてループを制御できるようになると、無駄な処理を減らせます。

実用例: ユーザー入力の検証(break)

次の例では、配列の中に不正な値(負の数)が含まれていないかをチェックしています。不正な値が見つかった時点で、それ以上確認する必要がないため、breakで処理を終了します。


<?php
$numbers = [1, 2, 3, -1, 4, 5];

foreach ($numbers as $num) {
    if ($num < 0) {
        echo "負の数が含まれているため処理を中断します。";
        break;
    }
    echo "処理中: " . $num . "<br>";
}
?>

解説:マイナスの数が見つかった瞬間にループを終了しているため、不要なチェックを行わずに済みます。入力チェックやエラーチェックでは、よく使われる考え方です。

実用例: 偶数だけ処理する(continue)

次は、1から10までの数値の中から、偶数だけを処理したい場合の例です。奇数のときは処理を行う必要がないため、continueでスキップします。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 != 0) {
        continue;
    }
    echo "偶数: " . $i . "<br>";
}
?>

解説:奇数のときは出力処理を飛ばし、次のループへ進んでいます。このようにcontinueを使うと、条件に合わないデータだけを簡単に除外できます。

このように、breakは「これ以上続ける必要がないとき」、continueは「今回は処理しなくていいとき」に使うと、無駄のないループ処理が書けるようになります。

4. break の使い方(具体的な例)

4. break の使い方(具体的な例)
4. break の使い方(具体的な例)

breakは、ループの途中で処理を終了するために使用されます。たとえば、特定の条件を満たしたらループを抜ける場合に便利です。

例1: 指定した回数でループを終了

例えば、1から10までの数字を出力するループの途中で、5になったら処理を終了する場合を考えてみましょう。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break; // $iが5になったらループを終了
    }
    echo $i . " ";
}
?>

このコードの実行結果は以下のようになります。


1 2 3 4

5に達すると、breakによってループが即座に終了し、それ以降の処理は行われません。

例2: while文でのbreakの使用

while文でもbreakを使用できます。例えば、ランダムな数値を生成し、7が出たら終了する処理を作ることができます。


<?php
while (true) {
    $num = rand(1, 10);
    echo "生成された数値: " . $num . "<br>";

    if ($num == 7) {
        echo "7が出たのでループを終了します。";
        break;
    }
}
?>

このコードでは、ランダムな数値を生成し続け、7が出た時点でループを終了します。

-

5. continue の使い方(具体的な例)

5. continue の使い方(具体的な例)
5. continue の使い方(具体的な例)

continueは、ループの処理を一部スキップし、次のループへ進むために使われます。

例1: 特定の条件でスキップする

例えば、1から10までの数字をループで出力し、5のときだけスキップする場合を考えます。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        continue; // $iが5のときはスキップ
    }
    echo $i . " ";
}
?>

このコードの実行結果は以下のようになります。


1 2 3 4 6 7 8 9 10

continueによって、5のときだけ処理がスキップされ、次のループへ進みます。

例2: 偶数だけを出力する

次に、1から10までの数字のうち、偶数だけを出力する例を見てみましょう。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 != 0) {
        continue; // 奇数はスキップ
    }
    echo "偶数: " . $i . "<br>";
}
?>

このコードの実行結果は以下のようになります。


偶数: 2
偶数: 4
偶数: 6
偶数: 8
偶数: 10

奇数はスキップされ、偶数だけが出力されるようになります。

6. break と continue の違いをコードで比較

6. break と continue の違いをコードで比較
6. break と continue の違いをコードで比較

ここまでの説明で、breakcontinueの違いがわかりました。ここでは、それをわかりやすく比較するために、同じ条件でそれぞれを使ったコードを見てみましょう。

break の動作

10回ループを実行し、5になったら終了する例です。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break; // $iが5になったらループを終了
    }
    echo $i . " ";
}
?>

実行結果:


1 2 3 4

breakによって、5になった時点でループ全体が終了します。

continue の動作

10回ループを実行し、5のときだけスキップする例です。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        continue; // $iが5のときはスキップ
    }
    echo $i . " ";
}
?>

実行結果:


1 2 3 4 6 7 8 9 10

continueによって、5のときだけスキップされ、ループ自体は最後まで続いています。

このように、breakはループを完全に終了させるのに対し、continueは処理の一部をスキップするだけでループは続行されるという違いがあります。

適切な使い分け

  • break を使うべき場面: 条件を満たしたらループを即座に終了したいとき(例: 検索処理で最初の一致を見つけたら終了)
  • continue を使うべき場面: 特定の条件をスキップしながらループを続けたいとき(例: 偶数のみを処理する)

プログラムの処理効率を向上させるために、適切な場面でbreakcontinueを使い分けることが重要です。

7. どんな場面で break や continue を使うのか(実用的な例)

7. どんな場面で break や continue を使うのか(実用的な例)
7. どんな場面で break や continue を使うのか(実用的な例)

breakcontinueは、プログラムの実行効率を向上させるために重要な役割を果たします。ここでは、実際の開発現場でよく使われるケースを紹介します。

例1: データ検索で最初の一致を見つけたらループを終了(break)

例えば、顧客リストから特定の顧客IDを探し、最初に見つかったら処理を終了する場合、breakを使うと無駄なループを防ぐことができます。


<?php
$customers = ["田中", "鈴木", "佐藤", "山田", "高橋"];
$target = "佐藤";

foreach ($customers as $customer) {
    if ($customer == $target) {
        echo "見つかりました: " . $customer;
        break; // 一致したらループ終了
    }
}
?>

このコードを実行すると、"佐藤"が見つかった時点で処理が終了します。

例2: ユーザー入力で不正なデータをスキップする(continue)

ユーザーからの入力データを処理する際、不正なデータをスキップして処理を継続することが求められる場合があります。その場合、continueを使用します。


<?php
$inputs = ["100", "-50", "200", "abc", "300"];

foreach ($inputs as $input) {
    if (!is_numeric($input) || $input < 0) {
        continue; // 数値でない、または負の値ならスキップ
    }
    echo "処理中: " . $input . "<br>";
}
?>

このコードを実行すると、"abc"や"-50"のような無効なデータは処理されず、数値のみが処理されます。

8. よくある間違いと注意点

8. よくある間違いと注意点
8. よくある間違いと注意点

breakcontinueの使用において、初心者が陥りがちなミスを紹介し、回避するためのポイントを説明します。

間違い1: break を使うべきところで continue を使ってしまう

間違ったコードの例を見てみましょう。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        continue; // ここをbreakにするべきだった
    }
    echo $i . " ";
}
?>

このコードでは、5の時にスキップされるだけで、ループは最後まで続いてしまいます。

正しくは、以下のようにするべきです。


<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        break; // 5になったらループ終了
    }
    echo $i . " ";
}
?>

間違い2: continue を適切な場所に書かない

例えば、continueを使うべき場所を誤ると、意図しない処理が行われることがあります。


<?php
for ($i = 1; $i <= 5; $i++) {
    echo "ループ開始: " . $i . "<br>";
    if ($i == 3) {
        continue;
    }
    echo "処理終了: " . $i . "<br>";
}
?>

このコードでは、$iが3のときだけ"処理終了"の出力がスキップされます。

間違い3: 無限ループに注意する

while文の中でbreakを適切に使用しないと、無限ループに陥ることがあります。


<?php
$i = 1;
while (true) {
    echo $i . "<br>";
    if ($i == 5) {
        break; // この条件がないと無限ループになる
    }
    $i++;
}
?>

無限ループを避けるためには、breakを適切に配置することが重要です。

9. ポイント整理

9. ポイント整理
9. ポイント整理

今回の記事では、PHPのbreakcontinueの基本的な使い方から、具体的な活用例、注意点まで解説しました。

  • break: ループを途中で終了する。
  • continue: 現在の処理をスキップし、次のループへ進む。
  • データ検索、入力チェックなどの実用的な場面で役立つ。
  • 間違った使い方をすると意図しない動作になりやすい。
  • 無限ループにならないようにbreakを適切に配置する。

PHPのループ制御を適切に使うことで、無駄な処理を省き、効率的なプログラムを書くことができます。今回の解説を活用し、実際のコードに役立ててください。

まとめ

まとめ
まとめ

今回はPHPにおけるbreakcontinueの使い方について、基本から実践的な活用例まで詳しく学びました。breakはループ処理を途中で終了させるための命令であり、一方のcontinueは処理の一部をスキップして次のループへ移る命令です。特にforwhileforeachなど、様々なループ構文と組み合わせることで、効率よく処理を制御することができます。

実際の開発現場では、breakは検索処理や早期終了が必要なケースで使用され、continueはバリデーションチェックや不要なデータをスキップする場面で頻繁に使われます。例として、ユーザー入力の中から数値だけを処理する場面や、リストの中から特定のデータが見つかったら終了するような場面で効果的です。

また、間違った使い方にも注意が必要です。例えばbreakを使うべき場所でcontinueを使ってしまうと、ループが終了せずに思ったような結果にならないことがあります。さらに、whileループ内でbreakを忘れると無限ループになる危険性もあるため、条件の書き方にも慎重になる必要があります。

正しい使い方を理解し、実践に活かすことで、コードの可読性とパフォーマンスが大きく向上します。PHP初心者の方でも、breakcontinueをしっかりとマスターすれば、より柔軟で効率的なプログラムを書くことができるようになります。

サンプルコードでおさらい

以下は、ループ内でcontinueを使って、特定の文字列だけをスキップする例です。



このコードを実行すると「バナナ」だけが出力されず、他の果物だけが表示されます。continueの動作がよくわかるシンプルな例です。

次に、breakの使い方です。特定の果物を見つけたらループを終わらせます。



この例では「なし」が見つかったところでループが終了します。検索処理の基本的なパターンです。

先生と生徒の振り返り会話

新人

「breakとcontinueって、最初は似ているように感じたけど、実際には全然違う動きをするんですね!」

先輩

「そうそう。breakはループを止める、continueはスキップする。どちらも使い所を間違えると、思わぬバグになるから注意が必要だよ。」

新人

「特にユーザーの入力チェックのときなんかに便利そうですね。continueで不正データを飛ばしたり、breakで条件満たしたら止めたり。」

先輩

「その通り!現場でもよく使うから、今日の内容は確実に身につけておこう!」

新人

「はい! breakとcontinue、しっかり使いこなせるようになりたいです!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PHPのbreakとは何ですか?ループの終了方法について教えてください

PHPのbreakは、for文やwhile文、foreach文などのループ処理を途中で終了させるための構文です。特定の条件を満たしたときにループから抜けたい場合に使います。

PHPのcontinueの意味と使い方を教えてください

continueは、現在のループ処理をスキップして次の繰り返しへ進めるためのPHP構文です。特定の条件でそのループの処理だけ飛ばしたいときに使います。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.8
Java&Spring記事人気No8
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
-
-