易百教程

PHP转换为布尔值

要将值显式转换为布尔值,可以使用 (bool) 或 (boolean) 强制转换。在大多数情况下,强制转换是不必要的,因为如果运算符、函数或控制结构需要 bool 参数,则会自动转换值。
转换为 bool 时,以下值被视为 false:

  • 布尔值 false 本身
  • 整数 0-0(零)
  • 浮点数 0.0-0.0(零)
  • 空字符串和字符串"0"
  • 一个元素为零的数组
  • 特殊类型 NULL(包括未设置的变量)

所有其他值都被认为是true值,包括任何资源和 NAN-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)
?>

运行结果如下:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)