Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 1 回】

「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 1 回】

  • 2008-05-30 (金) 21:46
  • PHP

suniti さんの「blog.grayash.com - 第0回「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」をPHPでやってみよう!」というエントリーに感化されて、IDEA * IDEA の「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」というエントリーで書かれている練習問題を PHP で解いてみることにします。

全部で10問ありますが、まずは第 1 問。世界のナベアツですねw

1.「なんらかのカウントアップメッセージを1から100まで出すけど、3のときだけアホになる!(例:1万円!2万円!しゃ~ん万円!とか)」。

で、解いてみました。


<?php
$aho10 = array ('', 'じゅー', 'ぬぃじゅ', 'さぁんじゅ', 'よぉんじゅ', 'ごぉじゅ', 'ろくぅじゅ', 'ななじゅ', 'はぁちじゅ', 'きゅーじゅ');
$aho1 = array ('', 'いっち', 'ぬぃー', 'さぁーん', 'よぉーん', 'ごぉー', 'ろくー', 'しぃっち', 'はぁっち', 'きゅー');

for ($i = 1; $i <= 100; $i++) {
  if ($i % 3 == 0 || strpos((string)$i, '3') !== false) {
    print ($aho10[(int)($i / 10)].$aho1[$i % 10].'<br />');
  } else {
    print ($i.'<br />');
  }
}
?>

引っかかったところは、strpos 関数で 3 があるかどうか調べるところ。
当初 strpos((string)$i, ‘3′) >= 0 という条件にしたのですが、3 が見つからなかった場合でもこの条件が true になってしまいました。
調べた結果、false が 0 として判断されたためだと分かったので、!== 演算子を使って見つかったかどうかを判断するようにしました。

>>作成したサンプルはこちら

参考リンク

Comments:1

suniti 08-06-01 (日) 4:01

エントリー書いてくださってありがとうございます!
コードが自分のよりも短くて勉強になります。

自分がいかに無駄な処理をしてるのかと…(n’ω’ `)

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.sukechan.net/archives/65/trackback/
Listed below are links to weblogs that reference
「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 1 回】 from sukechan.net

Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 1 回】

Search
Feeds
Meta

Return to page top