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