【PHP8.x】is_bool関数の使い方

is_bool関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

is_bool関数は、指定された変数がブール型(boolean)であるかどうかを判定する関数です。PHPにおいては、変数に格納される値がtrueまたはfalseのいずれかである場合、その変数はブール型と判断されます。

この関数は、判定したい任意の変数を引数として一つ受け取ります。そして、その変数のデータ型が実際にブール型である場合にはtrue(真)を返し、それ以外の型である場合にはfalse(偽)を返します。たとえば、引数に整数、浮動小数点数、文字列、配列、またはオブジェクトなどが渡された場合、この関数はfalseを返します。

PHPは動的型付け言語であるため、変数の型は実行時に柔軟に変化する可能性があります。そのため、プログラムの信頼性を高める上で、特定の変数が期待通りの型を持っているかを確認する必要が生じることがよくあります。is_bool関数は、特に条件分岐の処理を行う前や、他の関数に引数を渡す際に、その変数が確実に真偽値として扱える状態にあるかを検証するために役立ちます。これにより、型の不一致に起因する予期せぬエラーを防ぎ、堅牢で安定したプログラムを構築することができます。

構文(syntax)

1<?php
2$data = true;
3$isBoolean = is_bool($data);
4?>

引数(parameters)

mixed $value

  • mixed $value: 真偽値かどうかを判定したい値

戻り値(return)

bool

指定された値が真偽値(boolean)型である場合に true を返します。それ以外の場合は false を返します。

サンプルコード

PHP: is_bool() で変数がブール値か判定する

1<?php
2
3// is_bool()関数は、与えられた変数がブール型 (true または false) であるかをチェックします。
4// 結果はブール値 (true または false) で返されます。
5
6// さまざまな型の値を定義します
7$valueTrue = true;          // ブール型 (bool)
8$valueFalse = false;        // ブール型 (bool)
9$valueInt = 0;              // 整数型 (int)
10$valueString = "true";      // 文字列型 (string)
11$valueNull = null;          // NULL型 (null)
12$valueArray = [];           // 配列型 (array)
13$valueFloat = 0.0;          // 浮動小数点数型 (float)
14
15echo "--- is_bool() 関数の使用例 ---" . PHP_EOL . PHP_EOL;
16
17// 各値がブール値であるかをチェックし、結果を表示します。
18// var_export()で元の値を表示し、var_dump()でis_bool()の戻り値 (型と値) を表示します。
19
20echo '値: ' . var_export($valueTrue, true) . ' => is_bool() の結果: ';
21var_dump(is_bool($valueTrue)); // true が返る (ブール値なので)
22echo PHP_EOL;
23
24echo '値: ' . var_export($valueFalse, true) . ' => is_bool() の結果: ';
25var_dump(is_bool($valueFalse)); // true が返る (ブール値なので)
26echo PHP_EOL;
27
28echo '値: ' . var_export($valueInt, true) . ' => is_bool() の結果: ';
29var_dump(is_bool($valueInt)); // false が返る (整数型はブール値ではない)
30echo PHP_EOL;
31
32echo '値: ' . var_export($valueString, true) . ' => is_bool() の結果: ';
33var_dump(is_bool($valueString)); // false が返る (文字列型はブール値ではない)
34echo PHP_EOL;
35
36echo '値: ' . var_export($valueNull, true) . ' => is_bool() の結果: ';
37var_dump(is_bool($valueNull)); // false が返る (NULL型はブール値ではない)
38echo PHP_EOL;
39
40echo '値: ' . var_export($valueArray, true) . ' => is_bool() の結果: ';
41var_dump(is_bool($valueArray)); // false が返る (配列型はブール値ではない)
42echo PHP_EOL;
43
44echo '値: ' . var_export($valueFloat, true) . ' => is_bool() の結果: ';
45var_dump(is_bool($valueFloat)); // false が返る (浮動小数点数型はブール値ではない)
46echo PHP_EOL;
47

PHP 8のis_bool()関数は、与えられた変数のデータ型が厳密にブール型(trueまたはfalse)であるかを判定するために使用されます。この関数には、チェックしたい任意の型の値(mixed $value)を引数として渡すことができます。

is_bool()の戻り値はブール型で、引数に指定した値がブール型そのものであればtrueを返します。もし引数が整数型、文字列型、NULL型、配列型、浮動小数点数型など、ブール型以外の型であれば、その値が論理的に真とみなされるか偽とみなされるかに関わらず、falseを返します。

サンプルコードでは、truefalseといった純粋なブール値を渡した場合にはtrueが返ってくることが確認できます。一方、整数値の0や文字列の"true"null、空の配列など、PHPの他のコンテキストではブール値に変換されるとfalsetrueと評価される可能性のある値であっても、is_bool()はそれらがブール型ではないため、全てfalseを返します。

この関数は、特に外部からのデータを受け取る際や、特定の処理を実行する前に変数の型を厳密に確認したい場合に役立ちます。これにより、予期せぬ型の不一致によるエラーを防ぎ、プログラムの堅牢性を高めることができます。

is_bool()関数は、変数が厳密にブール型(trueまたはfalse)であるかをチェックします。初心者の方が間違いやすい点として、0null、空の文字列、空の配列などは、PHPの条件式でfalseとみなされる「偽の値」ですが、is_bool()はこれらをブール型とは判断しません。例えば、数値の0や文字列の"true""false"なども、型としては整数型や文字列型ですので、is_bool()falseを返します。この関数は、変数の「型」がブール型であるかを正確に知りたい場合に利用し、「値の真偽」を評価したい場合とは目的が異なりますので注意が必要です。変数の型を厳密に確認したい場合に安全にご利用ください。

関連コンテンツ

【PHP8.x】is_bool関数の使い方 | いっしー@Webエンジニア