js和php对bool值的判断区别
Posted toDoYourBest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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值的判断区别的主要内容,如果未能解决你的问题,请参考以下文章
Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段
Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段