- 2006-09-29 (金) 11:36
- PHP
PHPで1から100の数字を表示するコードをスマートに書くネタがGANCHIKU.comで紹介されていました。
他のPHPerな方だったら、どんな書き方するかなー。
会社で楽しかった瞬間。 at GANCHIKU.com (2006-09-29)
との事なので反応してみました。(ちなみに元ネタは人力検索はてな-PHPのコードを教えてください。…)
まずぱっと思いついたコードがこちら
< ?php echo "<table>"; for ($i = 0 ; $i < 10 ; $i++) { echo "<tr>"; for ($j = 0 ; $j < 10 ; $j++) { printf("<td>%d< /td>", $i * 10 + $j + 1); } echo "< /tr>"; } echo "< /table>"; ?>
まあ何の変哲もないコードです。ただ誰が見ても分かりやすいと思います。
で、エントリのワンライナーがかっこ良かったのでインスパイアwして書いたのがこちら
$ php -r 'foreach (range(0,9) as $v1) { foreach (range(1,10) as $v2) { printf("%02d ", $v1*10+$v2); } echo "\n"; }'
あんま変わってないです。。。
しかしPHPにはいろいろな配列関数がありますね。range()とかarray_chunk()とかは今回のエントリを見るまで知りませんでした。(array_chunk()は同じようなのを以前に自作した覚えがあったり。)
- Newer: PostgreSQL 外部キーロック
- Older: CakePHP array-based Active Record
コメント (Close):2
- shin@ganchiku 06-09-30 (土) 8:34
-
誰が見ても分かりやすいというのは大事ですね。そして、かつ簡潔であれば、いいですね。
PHPの配列関数はかなり面白いですよ。コールバックをどうやって扱おうか悩むところですが。。つまり、create_functionするか、新たに関数(メソッド)を追加するか、といったところで。
というわけで、トラバどうもです。ところで、私の名前もshinでしたー。
- shin 06-10-01 (日) 23:28
-
コメントありがとうございました。
usort()なんかでもコールバックを無名関数にするかどうかは迷いますね。テストのし易さを考えると関数(メソッド)にした方が良いですし、まとまりが良いのは無名関数ですし。
今回のエントリは普段何気なくやっている事を見直せて勉強になりました。shinさん結構多いですよね。;-)
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2006/09/php_1to100.html/trackback
- Listed below are links to weblogs that reference
- PHPで1から100を表示 from Shin x blog