Re:1/1〜12/31を出力するには?
http://labs.uechoco.com/blog/2008/01/php111231.html
遅いし冗長ですけど僕なら*気持ちの上だけでは*こう組みます.
php -r '$year = 2005; $days = array(); for ($current = strtotime(sprintf("%d-01-01", $year)); intval(strftime("%Y", $current)) == $year; $current = strtotime("tomorrow", $current)) { $days[] = strftime("%-m月%-d日", $current);} echo implode(" / ", $days);'
長くてわかんないすよね.適当に改行します.
php -r ' $year = 2005; $days = array(); for ( $current = strtotime(sprintf("%d-01-01", $year)); intval(strftime("%Y", $current)) == $year; $current = strtotime("tomorrow", $current)) { $days[] = strftime("%-m月%-d日", $current); } echo implode(" / ", $days); '
1行に書きたいものの複数行への分割(例えばでかいifとか)はPEARのソースでは4タブなんですが,個人的には2タブにしたいなぁ.↑みたいによくわかんなくなる.
っで,これ位ならワンライナーで書くの当たり前だよね? ね? ね?(何
検証してみよう
http://d.hatena.ne.jp/Yudoufu/20080127/1201452090
とかトラックバック発見(遅
そうそう.DateTime Objectとかどっかでサンプル出したかったんですよね.先越された(いや発見すら遅いから
っで,ベンチマーク
DateTime Objectのべんちまあく
$ time php -r '/*ゆどうふさんのコードのコピペ*/' 2005 > /dev/null
っで,結果.
real 0m0.091s user 0m0.068s sys 0m0.016s
real 0m0.086s user 0m0.064s sys 0m0.024s
real 0m0.087s user 0m0.076s sys 0m0.012s
ねちっこいコードべんちまーく
$ time php -r '/*私のコードのコピペ*/' > /dev/null
real 0m0.108s user 0m0.076s sys 0m0.032s
real 0m0.107s user 0m0.080s sys 0m0.020s
real 0m0.102s user 0m0.092s sys 0m0.012s
おせーっ!!でも想像よりは遅くなかったのかなぁ