【PHP】foreachループをcontinueでスキップする方法

PHPのforeachループを使用して配列やオブジェクトの要素を処理する際、特定の条件に基づいて処理をスキップすることができます。continue文を使うことで、条件を満たす場合にループの処理を中断し、次の要素に進むことが可能です。この記事では、foreachループでcontinue文を使用する方法について説明します。

基本的な使い方

foreachループにおけるcontinue文の基本的な使い方を見てみましょう。以下のコード例では、$numbers配列の要素を順に処理し、特定の条件に応じて処理をスキップします。

$numbers = [1, 2, 3, 4, 5];

foreach ($numbers as $number) {
    // 数字が3のとき、処理をスキップ
    if ($number == 3) {
        continue;
    }
    echo "Number: $number" . PHP_EOL;
}

このコードでは、数字が3の場合にcontinue文が実行され、echo文がスキップされることになります。結果として、数字3は出力されず、他の数字だけが表示されます。

実行結果

上記のコードを実行すると、次のような出力が得られます。

Number: 1
Number: 2
Number: 4
Number: 5

ここで、$numberが3のときにcontinue文が適用され、その数字を出力せずに次のループに進んでいることが確認できます。

応用例

次に、foreachループとcontinue文を使った応用例を紹介します。例えば、配列の中に特定の値が含まれている場合に、その要素を処理から除外するシナリオを考えます。

$items = ["apple", "banana", "cherry", "date"];

foreach ($items as $item) {
    // "banana"の場合、次の要素にスキップ
    if ($item == "banana") {
        continue;
    }
    echo "Processing: $item" . PHP_EOL;
}

実行結果

このコードを実行すると、以下のような出力が得られます。

Processing: apple
Processing: cherry
Processing: date

この例では、$itemが”banana”のときにcontinue文が適用され、その要素を処理せずに次のループに進んでいることがわかります。

まとめ

foreachループとcontinue文を組み合わせることで、特定の条件に基づいて処理をスキップすることができます。これにより、コードの柔軟性を高め、不要な処理を避けることが可能になります。continue文を効果的に活用し、読みやすくメンテナンスしやすいコードを実現しましょう。