PHP
初心者

経緯

兎にも角にも勉強中の私。(かれこれ3ヶ月程度)
会社の技術者に「今勉強中なんだ〜!」という話をしたら
こんなのやって見たらどうです?なんて話をされたのでやってみた。

以下は、アウトプットしつつ記憶の定着を狙うための備忘録。
自分と同じような道を歩む人がもしいれば、助けになれば嬉しいし、
そもそも自分の物覚えが良くないので、Qiitaをメモ帳にしたろうという魂胆。

自分が書いたソース

(結果が見やすいように改行コードもechoしている。)

FizzBuzz.php
<?php
for ($i = 1; $i <= 100; $i++) {
  if ($i % 3 == 0 && $i % 5 == 0) { // 3の倍数かつ5の倍数
  echo "FizzBuzz";
  echo "<br>";
  } elseif ($i % 3 == 0) { // 3の倍数
  echo "Fizz";
  echo "<br>";
  } elseif ($i % 5 == 0) { // 5の倍数
  echo "Buzz";
  echo "<br>";
  } else {
    echo $i;
    echo "<br>";
  }
}
?>

ハマったとこ

3の倍数かつ5の倍数の時の処理を一番最初に書かず、

if ($i % 3 == 0) {
  echo "Fizz";
  echo "<br>";
} elseif ($i % 5 == 0) {
  echo "Buzz";
  echo "<br>";
} elseif ($i % 3 == 0 && $i % 5 == 0) {
  echo "FizzBuzz";
  echo "<br>";

としてしまった。
知っている人には当たり前のことだろうが、
上から順に処理が実行されるので、
3の倍数かつ5の倍数かどうかを判別する前に
3の倍数であった場合の処理が走ってしまうため、
期待値通りに動かなかった。

あとはfor()の中身を3つそれぞれ;つけてしまったりw
落ち着いて見直すと「何やってんだ…w」って感じだが、
書いてる最中の俺は本気だし必死。。

今後も邁進します。。