问题起由:PHP中if(true==2)会返回true还是false?
结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。
结论:
转化为bool类型时,会变成false的几种数据:
1.整型0
2.空字符串
3.空数组
4.NULL
欢迎补充…
测试代码:
<?phpfunction p($title,$mybool){ echo "<pre class="prettyprint linenums">".$title; echo var_dump($mybool)."
“;}class foo { function do_foo() { echo “你好!”; }}echo”
PHP中的其他类型转化为Bool类型
“;//零$n0=boolval(0);p(“零:”,$n0);//正整数$n=boolval(2);p(“正整数:”,$n);//负整数$nx=boolval(-2);p(“负整数:”,$nx);//字符空格$ss=boolval(” “);p(“字符空格:”,$s本%文来源gaodaimacom搞#^代%!码网@搞代gaodaima码s);//空字符串$sn=boolval(“”);p(“空字符串:”,$sn);//字符串$s=boolval(“chinacion”);p(“字符串:”,$s);//空数组$an=boolval(array());p(“空数组:”,$an);//数组$a=boolval(array(0=>1));p(“数组:”,$a);//null类型$nu = boolval(NULL);p(“NULL:”,$nu);//object$bar = new foo;$bar;$obj = boolval($bar);p(“Object:”,$obj);