首页 > 代码库 > js和php对bool值的判断区别

js和php对bool值的判断区别

PHP中

当转换为 boolean 时,以下值被认为是 FALSE

  • 布尔 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 "0"
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅 PHP 4.0 适用)
  • 特殊类型 NULL(包括尚未赋值的变量)
  • 从空标记生成的 SimpleXML 对象

所有其它值都被认为是 TRUE (包括任何资源)。

-----------------------------------------------------------------------

JS中,字符串"0"是为true的,只要字符串不是空的,都是true

Boolean 表达式的定义:

一个值为 true 或者 false 的表达式。如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:

  • 所有的对象都被当作 true。
  • 当且仅当字符串为空时,该字符串被当作 false。
  • null 和 undefined 被当作 false。
  • 当且仅当数字为零时,该数字被当作 false。

 

 数据类型  转换为bool后的值
null ---------------------  FALSE
undefined --------------  FALSE
Object ------------------  TRUE
function ---------------   TRUE
0 ------------------------  FALSE
1  ------------------------ TRUE
0、1之外的数字---------  TRUE
字符串-------------------  TRUE
""(空字符串)  -------------FALSE 

另附bool值转换方法链接

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

js和php对bool值的判断区别