php,js其他類型轉化爲Bool類型比較

參考文章:
淺談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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章