PHP PHP入門講座 プログラミング

【PHPプログラミング入門講座】[解答と解説] continue

PHPプログラミングのキービジュアル

[解答と解説] 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, PHP入門講座, プログラミング
-, , , ,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.