【PHP入門2021】PHPのデータ型① 論理型(bool/boolean) ~使い方・確認・変換まで解説します

PHP

PHPの論理型(bool)とは?

論理型は真(true)か偽(false)か2つの値しか持ちません。
正しいか間違いか、というフラグ判定するためのデータ型です。

型の名前としてはboolやbooleanという2通りがあちこちで両方使われるのでややこしいです。(統一してほしい・・)

PHPの論理型の使い方

シンプルに真か偽かを判定するような処理に活躍します。

if($result1 == true){
	echo "結果は真です!"; //ここが出力される
}

PHPの論理型のルール・規則

  • trueとfalseの2つの値をもつ
  • 0、空、nullはfalse扱いになる
  • “false”は真と扱われるので注意

PHPの論理型の代入(宣言)

$result1 = true; //論理型 真の代入
$result2 = false; //論理型 偽の代入

PHPの論理型の確認・チェック

その値が論理型かどうかをチェックする方法で主要なやり方を2つ紹介します。

is_bool()

論理型かどうか?を判定します。
is_bool()関数が真なら論理型、偽なら他の型です。

$result1 = true; //論理型 真の代入

if(is_bool($result1)){
	print "resultの型はboolです!";  //ここが出力される
}

gettype()

gettype()関数の結果の文字列がbooleanなら論理型です。

$result1 = true; //論理型 真の代入

echo gettype($result1); //boolean と出力される

PHPの論理型の変換

他のデータ型から論理型への変換で主なやり方を2つ紹介します。

専用の関数boolval()で変換

関数boolval()で他の型から論理型に変換をします。

$result2 = 1; //整数を代入
echo gettype($result2); //integer と出力される
$result2 = boolval($result2); //論理型に変換②
echo gettype($result2); //boolean と出力される

キャストによる変換

変換の型を指定して明示的に変換することをキャストといいます。
(bool)か(boolean)どちらかを使います。

$result2 = 1; //整数を代入
echo gettype($result2); //integer と出力される
$result2 = (boolean)$result2; //論理型に変換1 ※bool/booleanどちらでも
$result2 = (bool)$result2; //論理型に変換2 ※bool/booleanどちらでも
echo gettype($result2); //boolean と出力される

その他のデータ型から論理型に変換

その他のキャストによる例を紹介します。
0やnullや空だけがfalseです。

var_dump((boolean)"aaa");  //文字列はtrue
var_dump((boolean)"");     //文字列はfalse
var_dump((boolean)0);      //整数の0はfalse
var_dump((boolean)"0");    //文字列の0はfalse
var_dump((boolean)1);      //1はtrue
var_dump((boolean)5);      //プラスの整数はtrue
var_dump((boolean)-5);     //マイナスの整数もtrue
var_dump((boolean)"1");    //文字列の1はtrue
var_dump((boolean)null);   //nullはfalse
var_dump((boolean)array());      //空の配列はfalse
var_dump((boolean)array("aaa")); //中身のある配列はtrue

コメント

タイトルとURLをコピーしました