ホーム > PHPの文法 > 2 データ型 > PHP の 論理型(boolean) について
PHPリファレンス

UPDATE:2020年07月06日

PHP の 論理型(boolean) について

PHP の 論理型(boolean) について | wepicks!
PHP4.3 PHP5 PHP7

1 Minute Note

  • 論理型 とは 真 偽 を表す 論理値 の型
  • 論理型 の値(論理値)は キーワード(定数) TRUEFALSE のどちらかしかありません(大文字小文字区別なし)
  • 論理型 の種類は スカラー型
  • FALSE と見なされる値
    表示なし
    キーワード FALSE | false
    整数 0 と -0
    浮動小数点 0.0 と -0.0
    空の文字列 " "
    空の文字列 ' '
    文字列 "0" (文字列としての0)
    要素数が 0 の配列 $ary = array();
    プロパティーやメソッドを含まない空のオブジェクト
    NULL値
    値が定義されていない変数
  • FALSE 以外は全て TRUE
  • 論理型 のチェックは is_bool() 関数 で行う
論理型 は 真 偽 の値を表す 論理値 の データ型 です。論理値は キーワード(定数) TRUE か FALSE の2種類の何れかになります。つまり 論理型 の値は キーワード TRUE か FALSE のどちらかになります。TRUE FALSE は大文字小文字の区別はありません。


論理型とは

POINT

  • 論理型 とは 真 偽 を表す 論理値 の型
  • 論理型 の値(論理値)は キーワード(定数) TRUEFALSE のどちらかしかありません(大文字小文字区別なし)
  • 論理型 の種類はスカラー型
論理値 TRUE と FLASE の型が 論理型

論理型(boolean) とは、「何かが真であるか、或いは、真でないか=偽」を表す値である 論理値を示す型 のことです。論理値 の データ型 が論理型です。論理値 はキーワード(定数) TRUE または FALSE のどちらかになります。つまり、キーワード TURE FALSE の型が 論理型 となります。キーワード TRUE FALSE に大文字小文字の区別はありません。論理値についてはこちらを参照下さい。PHPでは、キーワード TRUE や FALSE に加え、TRUE や FALSE と見なす値についての決まりがあります。

FALSE と見なす値

PHPにより FALSE と見なされる値は、空の文字列や整数の0などです。空の文字列「""」(シングルクォートで囲む)のデータ型は文字列型ですが、同時にPHPから FALSE と見なされます。PHPでは、論理型を求める関数や演算子、制御構造(if文など)がありますが、これらの引数の値は論理型に自動で変換(キャスト)されます。その際、その値が、FALSE と見なされるのかどうかで判定されます。

POINT

  • 表示なし
  • キーワード FALSE
  • 整数 0 と -0
  • 浮動小数点 0.0 と -0.0
  • 空の文字列 "" や ''
  • 文字列としての0 "0"
  • 要素数が 0 の配列 $aValue= array();
  • プロパティーはメソッドを含まない空のオブジェクト
  • NULL値
  • 値が定義されていない変数

TRUE と見なす値

POINT

  • FALSE 以外は全て TRUE

PHP から TRUE と見なされる値は、FALSE 以外すべての値となります。

論理型への変換(キャスト)

論理型へ自動で変換(キャスト)される

上記でも説明しましたが、関数や演算子、制御構造(条件文など)などのが 論理型 の引数を必要とする場合があります。例えば、or や and などの論理演算子、if文 などの 制御構造(条件文など) などです。その際、多くのケースで値は自動的に論理型に変換(キャスト)されます。論理型に変換される場合、以下の値はすべて FALSE と見なされます。それら以外は TRUE と見なされます。

  • 表示なし
  • キーワード FALSE
  • 整数 0 と -0
  • 浮動小数点 0.0 と -0.0
  • 空の文字列 "" や ''
  • 文字列としての0 "0"
  • 要素数が 0 の配列 $aValue= array();
  • プロパティーはメソッドを含まない空のオブジェクト
  • NULL値
  • 値が定義されていない変数

例えば、if文は論理値を評価します。そのため評価する値として論理型の値が必要です。

if(論理値){・・・}

以下の例では空の文字列を定義した変数 $string を if文 で評価してみます。

結果は

FALSEです。

となります。
これは、変数 $string が FALSE と見なされ、評価されているのです。つまり、$string は、論理型の値である FALSE に 自動で変換(キャスト)されているのです。

変数に文字列を代入してみます。この場合は $string は、TRUE と見なされます。

結果は

TUREです。
演算子、関数、条件文が 論理型の引数を必要とする場合には、値は自動的に 変換(キャスト) されるため、 多くの場合はキャストは不要です。

論理型であるか調べる

POINT

  • 論理型のチェックは is_bool() 関数 で行う

ある値が論理値かどうか調べるにはis_bool()関数を使用します。

結果は

論理型です。

となります。

php is_bool() 書式
bool TRUE か FALSE = is_bool(mixed $var);

説明変数のデータ型が論理型かどうかチェックする
引数mixed $varデータ型を調べる変数
返り値bool変数が論理型の場合:TRUE、変数が論理型ではない場合:FALSE

サンプル

データ型の種類

POINT
  • PHPの8つのデータ型:
  • 字列型(string) 整数型(integer) 浮動小数点数型(float)(double) 論理型(boolean) 配列型(array) オブジェクト型(object) リソース型(resource) NULL(null)
    (スカラー型) (スカラー型) (スカラー型) (スカラー型) (複合型) (複合型) (特殊型) (特殊型)
  • PHPの3のデータ種類:
  • スカラー型
    (文字列型) (整数型) (浮動小数点数型) (論理型)
    複合型
    (配列型) (オブジェクト型)
    特殊型
    (リソース型) (NULL)
PHPには8種類のデータ型があります。文字列型、整数型、浮動小数点数型、論理型、配列型、オブジェクト型、リソース型、NULLです。そして、それらのデータ型は、スカラー型複合型特殊型に分けられます。 スカラー型は単一の値で作られている型です。文字列、整数、浮動小数点数、論理値がそれに当たります。 複合型(コレクション型)は複数の値で作られている型です。配列とオブジェクトがそれに当たります。 特殊型リソースとNULLです。

データ型の表

型名種類
文字列型stringスカラー型'Hello World!!'
"我思う、ゆえに我あり"
整数型integerスカラー型1、2020、-588、+98
8進数
16進数
浮動小数点数型float(double)スカラー型1.4142、-0.18
論理型booleanスカラー型TRUE | FALSE (true false)
(大文字・小文字を区別しない)
配列型array複合型array('name','address')
オブジェクト型object複合型$oObj = new ClassName();
リソース型resource特殊型resource
ヌル型null特殊型NULL | null | Null
(大文字・小文字を区別しない)

サンプルコード

– サンプル Click Here ! –

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

公開日:2017年3月18日
最終更新日:2020年07月06日

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-ronritype/trackback/

page top