問題起由:PHP中if(true==2)會返回true還是false?
結果是返回true,順著這個問題,我把php其他數據類型也測試一下。

結論:
轉化為bool類型時,會變成false的幾種數據:
1.整型0
2.空字符串
3.空數組
4.NULL
歡迎補充...
測試代碼:
<?php
function p($title,$mybool){
echo "<pre>".$title;
echo var_dump($mybool)."</pre>";
}
class foo {
function do_foo() {
echo "你好!";
}
}
echo"<pre>PHP中的其他類型轉化為Bool類型</pre>";
//零
$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);