PHP、if文のTRUE・FALSEの解釈(booleanへの自動変換)

http://www.res-system.com/weblog/item/127

booleanへの変換には、キャスト (明示的に変換)を使用するが、
演算子、関数、制御構造がboolean 型の引数を必要とする場合には、
値は自動的に変換されるため、多くの場合、キャストは不要である。

(例)
booleanに変換する場合、次の値はFALSEとみなさる。

・booleanの FALSE
・integerの 0
・floatの 0.0
・空の文字列、 および文字列の "0"
・ゼロを要素とする配列
・ゼロを要素とするオブジェ クト
・NULL

その他の値は全てTRUEとみなされる。


(処理例)

if ($blog) {
〜〜 $blogに値が入っている場合 〜〜
}
else {
〜〜 $blogに""、NULLが入っている場合 〜〜
}

http://nyx.pu1.net/reference/datatype/boolean.html
空配列もFALSE

//キャスティング(bool)で値を強制的に論理値に変更しています。

(bool) ""; //FALSEになる--空文字
(bool) 5; //TRUEになる--プラスの整数値「5」
(bool) -28; //TRUE--マイナスの整数値「-28」
(bool) "abc"; //TRUE--文字列「abc」
(bool) 2.3e5; //TRUE--浮動小数点型
(bool) array(16); //TRUE--配列:要素「16」
(bool) array(0); //TRUE--配列:要素「0」
(bool) array(); //FALSE--配列:要素空
(bool) null; //FALSE--ヌル型