2010年11月30日火曜日

月、日の桁数をそろえたい時にsubstrの便利な使い方



月とかカレンダーの日をfor文でまとめて出力するときに


以下のように書くことがあるかと思います。




for($i=1;$i<=12;$i++){
echo $i.'月<br>';
}

=================

1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月



ただ、これだとレイアウト的に1桁の月と2桁の月でサイズがずれたりすることがあります。


そこで、1桁の月に頭に0をつけて 01月 02月 ... という風に表示したいとします。


IF文で書くと以下のような感じ。ちょっとIF文が仰々しくてあまりうれしくありません。



for($i=1;$i<=12;$i++){
if($i < 10){
echo '0'.$i.'月<br>';
}else{
echo $i.'月<br>';
}
}


これを、substrで書くとこんな感じ



for($i=1;$i<=12;$i++){
echo substr('0'.$i, -2) . '月<br>';
}

=================

01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月



全部の月の頭に0をつけて文字列として右から2文字を出力する形です。


別にそれほどエレガントでないかもしれませんが


同じ文字数にそろえたいレイアウトの整形という意味では


非常に的を得た方法ではないかなと思います。





suPHP の Premature end of script headers: の苦悩



suPHP をApacheにインストールして、PHPをCGI実行させてやろうとしたときに出たエラーメッセージ



Premature end of script headers:


とにかく、何が問題なのかは教えてくれず、どこか悪いといっているようです。


ブラウザをたたいても恐怖のInternetServerErrorだし。


いろいろ原因はあるみたいですが、はじめから設定内容を確認するしかなさそうです。


今回は、php-cgi バイナリーの設定ができていないという致命的なミスがあり


PHPをコンパイルしなおすところからやり直しました。(かなり嵌った)


結論:もう少しやさしめのエラーメッセージを希望!





2010年11月12日金曜日

SugarSyncの無料ストレージ容量が5GBにアップ!



いやはや、この無料のストレージ容量が増えたのはすごくうれしい。


SugarSync





個人的に、DropBoxやらSugarSyncなんかのファイル同期ストレージは


ヘビーに利用しているのでどんどんデータがたまって容量不足にいつも困ってました。


ちょこっと書いたソースやドキュメントをとりあえず同期して


気が向いたら続きを書くといった場所を選ばない開発ができます。


5GBも使えるとほぼ開発環境を丸ごとほりこんでも大丈夫じゃないでしょうか。


どこでも同じ設定で使えるのは開発を始めるときの障壁が少なくなりますしね。


これでもっと開発が楽しくなる予感!





※有料のLiveDrive使って容量無制限のストレージも使ってるけど


ソフトが重たいのが難点。あとLinuxと同期できるとなおうれしい。