問題起由: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);