## Boolean 布爾類型(標量)
這是最簡單的類型。boolean表達了真值,可以為TRUE或者FALSE。
**語法**
要指定一個布爾值,使用 常量TRUE或者FALSE。兩個都不區分大小寫。
```
<?php
$foo = True; // 設置$foo 為 TRUE
?>
```
通常[運算符](http://php.net/manual/zh/language.operators.php)所返回的 [boolean](http://php.net/manual/zh/language.types.boolean.php) 值結果會被傳遞給[控制流程](http://php.net/manual/zh/language.control-structures.php)。
```
<?php
//?==?是一個操作符,它檢測兩個變量是否相等,并返回一個布爾值
if?($action?==?"show_version")?{
????echo?"The?version?is?1.23";
}
//?這樣做是不必要的...
if?($show_separators?==?TRUE)?{
????echo?"<hr>\n";
}
//?...因為可以使用下面這種簡單的方式:
if?($show_separators)?{
????echo?"<hr>\n";
}
?>
```
### 轉換為布爾值
要明確地將一個值轉換成 [boolean](http://php.net/manual/zh/language.types.boolean.php),用 *(bool)* 或者 *(boolean)* 來強制轉換。但是很多情況下不需要用強制轉換,因為當運算符,函數或者流程控制結構需要一個 [boolean](http://php.net/manual/zh/language.types.boolean.php) 參數時,該值會被自動轉換。
參見[類型轉換的判別](http://php.net/manual/zh/language.types.type-juggling.php)。
當轉換為 [boolean](http://php.net/manual/zh/language.types.boolean.php) 時,以下值被認為是 \*\*`FALSE**`:
1. 布爾值 FALSE本身
2. 整型值0(零)
3. 浮點型值0.0(零)
4. 空字符串,以及字符串"0"
5. 不包括任何元素的數組
6. 特殊類型NULL(包括尚未賦值的變量)
所有其它值都被認為是 \*\*`TRUE**`(包括任何[資源](http://php.net/manual/zh/language.types.resource.php) 和 \*\*`NAN**`)。
> **Warning** *\-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)
?>
```
- 序言
- 簡介
- PHP是什么?
- PHP能做什么?
- 基本語法
- 類型
- boolean(布爾型)
- integer(整型)
- float(浮點型)
- string(字符串)
- array(數組)
- object(對象)
- callable(可調用)
- resource(資源)
- NULL(無類型)
- 偽類型
- 類型轉換的判別
- 變量
- 基礎
- 預定義變量
- 變量范圍
- 可變變量
- 來自PHP之外的變量
- 常量
- 語法
- 魔術常量
- 表達式
- 運算符
- 運算符優先級
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代語法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函數
- 用戶自定義函數
- 函數的參數
- 返回值
- 可變函數
- 內部 (內置)函數
- 匿名函數
- 類與對象
- 簡介
- 基本概念
- 屬性
- 類的自動加載
- 構造函數
- 訪問控制(可見性)