(转)了解PHP里的boolean布尔值
转自:http://www.nowamagic.net/academy/detail/1230205
- Chapter: PHP里的布尔类型
布尔(英语:Boolean)是计算机科学中的逻辑数据类型。它是只有两种值的原始类型,通常是True和False。
这是最简单的类型。boolean 表达了真值,可以为 TRUE 或 FALSE。某些脚本也会在适当时将值 true 和 false 转换为 1 和 0。
Booleans are used to represent the concepts of true and false.They are most often used for testing if a statement is true or false and they'll play a bigger role when we discuss logical expressions.Note that there is a difference between boolean true/false and the strings "true"/"false".
虽然简单,但是我们还是有必要深入了解一下,先看一下下面的程序:
echo true; echo false;
猜猜程序的输出?
1
输出1和空值。
再来看一个例子:
$var1 = 3; $var2 = "nowamagic"; $var4 = NULL; echo isset($var1); echo isset($var2); echo isset($var3); echo empty($var4);
程序输出:
1
1
1
也就是说,在 PHP 里,直接输出 boolean true 为 1,直接输出 boolean false 为 0。
布尔值的判断
PHP 支持八种原始类型(type)。
四种标量类型:
- string(字符串)
- integer(整型)
- float(浮点型,也作 double )
- boolean(布尔型)
两种复合类型:
- array(数组)
- object(对象)
两种特殊类型:
- resource(资源)
- NULL(空)
当转换为 boolean 时,以下值被认为是 FALSE:
- 布尔值 FALSE 本身
- 整型值 0(零)
- 浮点型值 0.0(零)
- 空字符串,以及字符串 "0"
- 不包括任何元素的数组
- 不包括任何成员变量的对象(仅 PHP 4.0 适用)
- 特殊类型 NULL(包括尚未赋值的变量)
- 从空标记生成的 SimpleXML 对象
所有其它值都被认为是 TRUE(包括任何资源)。