ブーリアン型
PHPの bool型はPythonとほぼ同じで、値として TRUE と FALSE が定義されており、0やNULLと同じような値は概ね FALSE と見なされる。
数値の0、0.0、NULL
FALSE、False、false
空の文字列、文字列の "0"、空の配列
定義されていない変数
(PHP4のみ)空のオブジェクト
等はFALSEと見なされる。 また、比較方法によっては厳密な比較を行うこともできる。
Haskell では data Bool = False | True のように定義される型であり、Bounded Enum Eq Ord Read Show などの型クラスのインスタンス型である。not・&&・|| といった関数と演算子がある。
Pythonでは、以下のような値が偽として扱われる。他は真として扱われる。
数値型の 0、None、False。
組み込みのコンテナ型の空のオブジェクト。例えば空の文字列、空のリスト、空のタプル。
空の辞書と空の集合。
ユーザー定義オブジェクトで、特殊メソッド __nonzero__ (Python3の場合__bool__) または __len__ により、自身のブール値に対して制御を持ち、以上のような偽の値を返すもの。
Ruby等に慣れていると最後のようなオブジェクトの扱いを間違えることがあるので注意が必要である。
定数 False と True は Python 2.2.1 でビルトインに追加された。bool 型は Python 2.3 で追加された。
比較演算などは True または False を返す。"or" や "and" は短絡評価によりオペランドの1つを返す。