參考文章:
淺談PHP中其他類型轉化爲Bool類型:https://www.jb51.net/article/81593.htm
js 空數組是true還是false:https://www.cnblogs.com/frostbelt/p/3425498.html
(1) PHP中其他類型轉化爲Bool類型
結論:
轉化爲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);
(2) JS中其他類型轉化爲Bool類型
在JavaScripe中除了undefined、null、0、-0、NaN、’'會被轉換成false,其他的值都會轉換成true。
特殊地:空數組轉換成bool是true (注意:既然是object,用於判斷條件時就會被轉化爲true,所以空對象也是true)
var arr = new Array(); // 或 var arr = [];
typeof arr; // "object"
// 既然是object,用於判斷條件時就會被轉化爲true
if(arr)console.log("it's true"); // it's true
Boolean(arr); // true
Boolean(arr) == true; // true