⊗ppPmLpCn 123 of 447 menu

PHPにおけるcontinue文

ループの作業を終了するbreak文の他に、 ループの新しい反復を開始するcontinue文も存在します。 この文はコードを簡略化するのに便利なことがありますが、 ほとんどの場合、これを使わなくても問題を解決できます。 実際の例を見てみましょう。

数値の配列があるとします。ループで配列を繰り返し処理し、 2で割り切れる数値は2乗して画面に表示し、 3で割り切れる数値は3乗して画面に表示してみましょう。

以下は、説明したタスクの解決策です:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; echo $res; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; echo $res; } } ?>

ご覧の通り、行echo $resが2回繰り返されています。 これをifの外に移動してみましょう。

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } echo $res; // 条件の外に出力を移動 } ?>

しかし、これではスクリプトの動作が少し変わってしまいます。 私たちのifで処理されていない通常の要素に対しても、 変数$resの画面表示が実行されてしまい、 このタスクの条件では必要とされていません。

この問題を修正するために、if23で割り切れない要素に対して作動する else条件を追加し、そこでcontinue文を呼び出して、 即座にループの新しい反復にジャンプさせましょう:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } else { continue; // ループの新しい反復に移動 } echo $res; // 2または3で割り切れる場合に実行 } ?>

continueを使って奇数をスキップしながら、 1から100までの偶数のみを表示するループを書いてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否