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
コメント