カテゴリ: PHP 更新日: 2025/05/29

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

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

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

新人

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

先輩

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

新人

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

先輩

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

-

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

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

breakcontinueは、ループの流れを制御するためのPHPのキーワードです。breakはループを強制的に終了させ、continueは現在の処理をスキップして次のループに進む役割を持っています。

例えば、無限ループを防ぐためにbreakを使ったり、特定の条件をスキップするためにcontinueを使うことができます。

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

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

ここでbreakcontinueの違いを整理しましょう。

  • break: 現在のループを終了し、ループの外へ抜ける。
  • continue: 現在のループの残りの処理をスキップし、次のループへ進む。

違いを理解しやすいように、具体的なコードで見てみましょう。

breakの例


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

上記のコードを実行すると、以下のような出力になります。


1 2 3 4

breakによって、$iが5になるとループが終了しています。

continueの例


<?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によって、$iが5のときだけ処理がスキップされ、次のループに進んでいます。

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

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

プログラムの実行効率を上げたり、無駄な処理を避けるためにbreakcontinueを活用します。

例えば、大量のデータを処理する際、不要な処理を飛ばしたり、特定の条件を満たしたらすぐにループを終了することで、無駄な計算を省くことができます。

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


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

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

このコードでは、配列内に負の数があると、それ以降の処理をせずに終了します。

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


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

このコードでは、奇数をスキップして偶数だけを処理しています。

このように、breakcontinueを使い分けることで、効率的なプログラムを書くことができます。

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

コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
Pythonの条件式でNoneを判定する方法!is None vs == None の違い
Pythonのpass文とは?一時的なコードブロックをスキップする方法
人気記事
No.1
Java&Spring記事人気No1
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
PHPとは?初心者向けにわかりやすく解説
No.3
Java&Spring記事人気No3
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.4
Java&Spring記事人気No4
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
-