My Labs! PHP

Work is Worth Doing of Worth Doing Well.

这是最简单的类型。布尔值表示的是一个真值。它既可以是 TRUE 也可以是 FALSE。

提示:布尔值类型在 PHP 4 中才被引入。

语法

如果要从字面上指定一个布尔值,可以使用关键字 TRUE 或者 FALSE。这两个值对于字母大小写不敏感。

<?php
$foo = True; // 把 TRUE 值赋给变量 $foo
?>

通常你会使用一些类型和操作符来返回一个布尔值,然后把它传递给控制结构。

<?php
// == 是一个测试等式并且返回布尔值的操作符
if ($action == "show_version") {
    echo "The version is 1.23";
}

// 这不是必需的...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ... 因为你完全可以这样编写
if ($show_separators) {
    echo "<hr>\n";
}
?>

转换成布尔值

如果要明确地把一个值转换成布尔值,就可以使用 (bool) 或者 (boolean) 转换。但是,在多数情况下你不需要使用这个转换,因为布尔值会自动进行转换,如果某个操作符,功能或者控制结构需要一个布尔值参数的话。

参考[类型戏法]。

在转换到布尔值的时候,下列值就会被考虑成 FALSE:

  • 布尔值 FALSE 自身
  • 整数 0(零)
  • 浮点数 0.0(零)
  • 空字符串,以及字符串[0]
  • 包含零个元素的数组
  • 零个成员变量的对象(只在 PHP 4 中有效)
  • 特殊类型 NULL(包括未设置的变量)
  • 从空标记那里创建的 SimpleXML 对象

每种其他值都会被考虑成 TRUE(包括任何资源)。

注意:-1 会被考虑成 TRUE,与任何其他非零(不论负数还是正数)数一样!

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
posted on 2007-05-02 20:54 Laeb 阅读(937) 评论(0)  编辑 收藏 引用 网摘 所属分类: 语言参考 / 类型