Menu
Coddy logo textTech

break 文

CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 51/71。

時には、ループが自然に終了する前に早期にループを抜ける必要があることがあります。break 文はまさにそれを実行します—ループを即座に停止し、その後のコードに続きます。

配列から特定の値を検索することを想像してください。見つかったら、残りの要素をチェックする意味はありません。breakを使用すると、無駄なイテレーションを節約できます。

<?php
$numbers = [3, 7, 2, 9, 5, 1];

foreach ($numbers as $num) {
    if ($num === 9) {
        echo "Found 9!\n";
        break;
    }
    echo "Checking $num\n";
}

echo "Search complete";
?>

出力は次のようになります:

Checking 3
Checking 7
Checking 2
Found 9!
Search complete

5 と 1 が決してチェックされないことに注意してください。ループが 9 に遭遇した瞬間、break がループを完全に終了し、実行が "Search complete" にジャンプします。

break 文は、すべてのループタイプ — forwhileforeach — で動作します。何かを検索しているときや、特定の条件でループを即座に停止すべきときに特に便利です。

challenge icon

チャレンジ

簡単

2 行の入力を読み取ってください:

  1. 数字のコンマ区切りリスト(例: 4,8,15,16,23,42
  2. 検索する対象の数字

foreach ループを使用して配列を対象の数字で検索します。見つかったら Found [target] at index [index]! を出力し、break を使用してループを即座に終了してください。

対象が見つからずにループが完了したら、[target] not found を出力してください。

ヒント: foreach ループでキー・値構文を使用してインデックスを追跡してください。

例 1:

入力が 10,25,30,45,5030 の場合、出力は以下になります:

Found 30 at index 2!

例 2:

入力が 5,10,15,20,2520 の場合、出力は以下になります:

Found 20 at index 3!

例 3:

入力が 1,2,3,4,599 の場合、出力は以下になります:

99 not found

チートシート

break 文はループを即座に終了し、ループ後のコードの実行を続けます。forwhile、および foreach ループで使用できます。

break を使用してループを早期に終了する例:

<?php
$numbers = [3, 7, 2, 9, 5, 1];

foreach ($numbers as $num) {
    if ($num === 9) {
        echo "Found 9!\n";
        break;
    }
    echo "Checking $num\n";
}

echo "Search complete";
?>

出力:

Checking 3
Checking 7
Checking 2
Found 9!
Search complete

break が実行されると、ループは即座に停止し、残りの要素は処理されません。

自分で試してみよう

<?php
// 入力を読み込む
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));

// TODO: 以下にコードを記述してください
// キー・値構文のforeachループを使用してターゲットを探す
// 見つかったら「Found [target] at index [index]!」を出力してbreakする
// ループ後に見つからなければ「[target] not found」を出力する

?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン