PHPにはemptyっちゅぅ関数があるです。復帰値がbooleanであるあたりからしても、挙動は明確ですね。
で…無論当然もっぱら、念のためチェックが入るデス。
http://jp.php.net/manual/ja/function.empty.php
戻り値
varが空でないか、0でない値であれば FALSE を返します。
次のような値は空であると考えられます。:
"" (空文字列)
0 (0 は整数)
"0" (0は文字列)
NULL
FALSE
array() (空の配列)
var $var;(変数が宣言されているが、クラスの中で値が設定されていない)
なるほど。……………まて。
"0" (0は文字列)
………え?
正気? マジ?
多分、他言語なら大騒ぎです。でもそこはPHPクォリティ。も〜まんたいです。この程度。
百億に一つ、念のため。
"0"という文字列は、ちゃんと、れっきとした、「0という数字が設定された文字列」です。間違ってもemptyという単語から連想される、空っぽな値ではありません。
ちなみに"00"はemptyではないらしい(実験結果より)。まぁ内部挙動の想像は容易に付くけどねぇ…
真っ当な技術者はこーゆー部分にきちんと神経をはらうようにしましょう。