$a=false; if(!$a){echo 'ok<br/>'; }$a=''; if(!$a){echo 'ok<br/>'; }$a=0; if(!$a){echo 'ok<br/>'; }$a=array(); if(!$a){echo 'ok<br/>'; }$a=null;if(!$a){echo 'ok<br/>'; }
为什么结果都是一样的.
读者你好:
在PHP中不是只有false值才为假的,以下值被认为是 FALSE:
þ 布尔值 FALSE 本身。
þ 整型值 0(零)。
þ 浮点型值 0.0(零)。
þ 空字符串,以及字符串 "0"。
þ 不包括任何元素的数组。
þ 不包括任何成员变量的对象(仅 PHP 4.0 适用)。
þ 特殊类型 NULL(包括尚未赋值的变量)。
þ 从空标记生成的 SimpleXML 对象。
除上面情况,所有其它值都被认为是 TRUE(包括任何资源)。