
[解答と解説] continue
前ページの練習問題「【PHPプログラミング入門講座】[練習問題] continue」の解答&解説です。
練習問題が解けたら、このページで答え合わせをしてみましょう!
練習問題1
<実行結果>のように出力するよう、次のPHPプログラムの[処理A]の部分を書いてください。
ただし、[処理A]の中で「continue」を使ってください。
※ヒント:3の倍数とは、3で割り切れる数のことです。算術演算子「%」を使うと3の倍数かどうかを判定することができます。
<?php $list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach($list as $num) { [処理A] echo $num . 'は3の倍数です。<br>'; }
<実行結果>
3は3の倍数です。
6は3の倍数です。
9は3の倍数です。
練習問題1の解答と解説
<解答>
if($num % 3 !== 0) { continue; }
※注:「$num % 3 !== 0」の部分は「$num % 3 != 0」と書いてもOKです。
プログラム全体を書くと次のようになります。
<?php $list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach($list as $num) { if($num % 3 !== 0) { continue; } echo $num . 'は3の倍数です。<br>'; }
<解説>
3の倍数は、3で割り切れる数のことです。さらに言い換えると、3で割ると余りが0の数のことです。
つまり、3の倍数かどうかを判定する場合のif文の条件は、余りを計算する算術演算子「%」を使って「$num % 3 === 0」になります。
ただ、if文の条件がtrueの場合はcontinueが実行されるので、その後ろにある「echo $num . 'は3の倍数です。<br>';」が実行されません。
continueを実行するべきなのは、3の倍数でない場合なので、if文の条件は「$num % 3 !== 0」になります。
練習問題2
「練習問題1」で完成したプログラムのforeachブロック内を、continueを使わず、if文のみを使った処理に書き換えてください。
練習問題2の解答と解説
<解答>
<?php $list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach($list as $num) { if($num % 3 === 0) { echo $num . 'は3の倍数です。<br>'; } }
<解説>
「echo $num . 'は3の倍数です。<br>';」を実行するのは、3の倍数、つまり、3で割ると余りが0の場合です。
よって、「$num % 3 === 0」を満たすかどうかをif文を使って判定すればOKです。
おわりに
お疲れ様でした。
いかがでしたでしょうか?
もし間違えた練習問題がありましたら、前の記事「【PHPプログラミング入門講座】continue」戻って読み直し、再度、練習問題にチャレンジしてください。
正解できた人は、おめでとうございます!
次の記事に進んでいきましょう!
PHPプログラミング入門講座 〜 全記事一覧 〜
- PHPで開発された有名なWebサイト
- PHPでどのような機能が作れるか?
- サーバーについて理解しよう
- Webサーバーの処理について詳しく説明
- PHPプログラムの動作について説明
- パソコンにPHPの動作環境を構築しよう
- 一番簡単なPHPプログラムを書いてみよう
- ブラウザ画面にメッセージを表示しよう
- PHPタグの書き方と終了タグの省略
- 特殊なメッセージ(文字列)の書き方
- PHPプログラムで計算をしてみよう
- 変数
- 文字列の結合とヒアドキュメント
- ファイルの分割とファイルの読み込み
- コメント
- 定数
- 数値と文字列の性質・デバッグ
- 条件分岐 (if文)
- 論理型 (boolean型)
- 比較演算子
- 論理演算子
- 条件分岐 (switch文)
- 三項演算子
- 配列とforeach文
- 代入演算子 / 加算子 / 減算子
- ループ処理 (for文)
- ループ処理 (while文とdo-while文)
- break
- continue
- [練習問題] continue
- 現在のページ:[解答と解説] continue
- 連想配列
- 連想配列のループ処理