问题起由:PHP中if(true==2)会返回true还是false?
结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。
![](http://img.bitscn.com/upimg/allimg/c160414/146061592V4060-12Y3.jpg)
结论:
转化为bool类型时,会变成false的几种数据:
1.整型0
2.空字符串
3.空数组
4.NULL
欢迎补充...
测试代码:
<?php function p($title,$mybool){ echo "".$title; echo var_dump($mybool)."
Copy after login
"; } class foo { function do_foo() { echo "你好!"; } } echo"
PHP中的其他类型转化为Bool类型
Copy after login
"; //零 $n0=boolval(0); p("零:",$n0); //正整数 $n=boolval(2); p("正整数:",$n); //负整数 $nx=boolval(-2); p("负整数:",$nx); //字符空格 $ss=boolval(" "); p("字符空格:",$ss); //空字符串 $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);