Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】is_int()関数の使い方

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

作成日: 更新日:

基本的な使い方

is_int関数は、指定された変数が整数型であるかどうかを判定するために使用される関数です。

この関数は、引数として検査したい任意の変数を受け取ります。そして、受け取った変数のデータ型がPHPの整数型(integer)であればtrue(真)を返し、それ以外の型(例えば、浮動小数点数、文字列、配列、オブジェクト、nullなど)であればfalse(偽)を返します。

PHPにおける整数型とは、小数点以下の部分を持たない数値データのことです。例えば、123-450といった値がこれに該当します。一方、1.03.14といった浮動小数点数、あるいは"123"のような数値に見える文字列は、is_int関数では整数型とは見なされず、falseを返します。

この関数は、プログラムが受け取る入力値が本当に整数であるかを確認する際や、計算結果が期待通りの整数値になっているかを検証する際に非常に有用です。例えば、ユーザーが年齢を入力するフィールドに誤って文字列を入力していないか、またはデータベースから取得したIDが数値として扱えるかなどをチェックする場面で活用されます。データの整合性を保ち、プログラムが予期せぬ動作をしないようにするための、基本的な型チェック機能として広く利用されています。

構文(syntax)

1<?php
2$integerValue = 123;
3$floatValue = 12.34;
4$stringValue = "hello";
5
6var_dump(is_int($integerValue));
7var_dump(is_int($floatValue));
8var_dump(is_int($stringValue));
9?>

引数(parameters)

mixed $value

  • mixed $value: 整数かどうかを判定したい値

戻り値(return)

bool

引数に渡された値が整数型である場合に true を、そうでない場合に false を返します。

サンプルコード

PHP is_int()で変数の型が整数か調べる

1<?php
2
3declare(strict_types=1);
4
5/**
6 * is_int() 関数の使用例を提示します。
7 *
8 * is_int() は、変数の型が整数 (integer) かどうかを調べます。
9 * 整数であれば true を、そうでなければ false を返します。
10 * is_integer() はこの関数の別名です。
11 */
12function checkIntegerType(): void
13{
14    // 検証する様々な型のデータを用意します
15    $testValues = [
16        10,       // 整数
17        -5,       // 負の整数
18        0,        // ゼロ
19        '100',    // 数字の文字列
20        3.14,     // 浮動小数点数
21        true,     // 論理値
22        null,     // NULL
23    ];
24
25    echo '--- is_int() 関数の実行結果 ---' . PHP_EOL;
26
27    // 配列の各要素に対して is_int() を実行し、結果を確認します
28    foreach ($testValues as $value) {
29        // var_export() は、変数の型が分かる形式で値を出力します
30        $displayValue = var_export($value, true);
31
32        if (is_int($value)) {
33            echo "{$displayValue} は整数です。" . PHP_EOL;
34        } else {
35            // 文字列の'100'や浮動小数点数の3.14は整数ではないと判定されます
36            echo "{$displayValue} は整数ではありません。" . PHP_EOL;
37        }
38    }
39}
40
41// 関数を実行して結果を表示します
42checkIntegerType();
43
44?>

PHPのis_int()関数は、与えられた変数のデータ型が「整数(integer)」であるかどうかを判定するために使用します。この関数はis_integer()という別名でも利用できます。

引数にはmixed $valueとして、どのような型の値でも指定できます。関数は、引数として渡された値が純粋な整数型であればtrue(真)を、そうでなければfalse(偽)を戻り値として返します。

サンプルコードでは、様々な型の値を配列に格納し、それぞれis_int()関数で検証しています。たとえば、10-50のような値は整数型と判定されるため、「整数です」と表示されます。一方で、見た目が数字であっても、'100'のように引用符で囲まれた「文字列型」の数値や、3.14のような「浮動小数点数型」の数値は、整数型とは異なるため、「整数ではありません」と判定されます。また、true(論理値)やnull(ヌル値)も整数型ではないため、同様に「整数ではありません」と表示されます。

この関数は、プログラムで数値計算を行う際などに、意図しない型のデータが混入していないかを確認するために非常に役立ちます。厳密な型チェックが必要な場面で活用することで、予期せぬエラーを防ぐことができます。

is_int() 関数は、与えられた変数のデータ型が厳密に整数(integer)であるかを判定します。数値に見える文字列(例: '100')や浮動小数点数(例: 3.14)は、整数のデータ型ではないためfalseと判定される点に特にご注意ください。これは、見た目の値と実際のデータ型が異なることで、初心者が混同しやすいポイントです。また、is_integer()is_int() と全く同じ機能を持ち、どちらを使っても結果は同じです。この関数は、変数の型に基づいて安全で厳密な処理の分岐を行いたい場合に活用できます。

PHPで変数が整数型か確認する

1<?php
2
3/**
4 * PHPはスクリプト言語であり、通常はコードが実行時に解釈(インタプリタ)されて処理されます。
5 * この特性により、変数の型は事前に厳密に定義されず、実行時の値によって動的に決まります。
6 * `is_int()`関数は、このようなPHPの動的な性質の中で、ある変数が実行時に整数型であるかを確認するために使用されます。
7 */
8
9/**
10 * 指定された値が整数型であるかをチェックし、結果を出力します。
11 *
12 * @param mixed $value チェック対象の値
13 * @return void
14 */
15function check_integer_type(mixed $value): void
16{
17    // var_export() は、変数の情報をより分かりやすく出力するために使用します。
18    echo "変数の値: " . var_export($value, true) . "\n";
19
20    // is_int()関数は、与えられた変数が整数型(integer)である場合にtrueを返します。
21    if (is_int($value)) {
22        echo "-> この値は整数型です。\n";
23    } else {
24        echo "-> この値は整数型ではありません。\n";
25    }
26    echo "---------------------------------\n";
27}
28
29// 様々な型の値をis_int()関数で確認します。
30// PHPは実行時に型が決まるため、このような型チェックが役立ちます。
31check_integer_type(123);           // 整数
32check_integer_type(-45);           // 負の整数
33check_integer_type(0);             // ゼロ
34check_integer_type("123");         // 文字列(数字に見えますが、データ型は文字列です)
35check_integer_type(12.34);         // 浮動小数点数(小数を含む数値)
36check_integer_type(true);          // 真偽値(trueまたはfalse)
37check_integer_type(null);          // NULL(値がないことを示す特殊な型)
38check_integer_type([]);            // 配列
39check_integer_type("hello");       // 文字列
40check_integer_type(0x1A);          // 16進数表記の整数 (PHPは自動的に整数として解釈します)
41
42?>

PHPはスクリプト言語であり、コードは実行時に解釈されるため、変数の型は事前に厳密に定義されず、値によって動的に決まります。このようなPHPの特性の中で、ある変数が実行時に整数型であるかを確認する際にis_int()関数が役立ちます。

is_int()関数は、引数mixed $valueとしてあらゆる型の値を受け取り、その値が整数型(integer)であればtrueを、それ以外の場合はfalseをブール値(bool)として返します。これにより、プログラムの実行中に特定の変数が整数として扱えるかどうかの判別が可能です。

サンプルコードでは、正の整数、負の整数、ゼロ、さらには文字列、浮動小数点数、真偽値、NULLなど、様々な型の値に対してis_int()関数を適用しています。例えば「123」のような数字に見える文字列や「12.34」のような小数を含む数値は、見た目は数字でもデータ型が異なるため、is_int()関数では整数型ではないと判断される様子が示されています。この関数を使うことで、PHPの柔軟な型システムの中で、意図した型としてデータが処理されているかを確認できます。

PHPは実行時に変数の型が決まる動的型付け言語です。is_int()関数は、ある変数が厳密に整数型であるかを確認するために用います。特に、"123"のように数字に見える文字列は整数型とは異なるため、is_int()falseを返します。また、12.34のような浮動小数点数も整数とは区別されます。0x1Aのような16進数表記は整数として扱われますのでご注意ください。PHP 8のmixed型引数と組み合わせることで、多様な入力に対する型チェックを明示的に行い、予期せぬ型に起因するエラーを防ぎ、安全で堅牢なプログラムを作成するのに役立ちます。

PHPでis_int()による型解釈を実演する

1<?php
2
3/**
4 * PHPは解釈型言語(interpreted language)であり、プログラムの実行時に変数の型を評価します。
5 * このサンプルコードでは、is_int()関数を使って、様々な値がPHPによって整数型(integer)として
6 * どのように解釈・判定されるかをデモンストレーションします。
7 *
8 * is_int()関数は、与えられた変数の値が厳密に整数型である場合にのみ true を返します。
9 * これは、PHPが実行時に動的な型チェックを行う一例です。
10 */
11function demonstrateIntegerTypeInterpretation(): void
12{
13    echo "--- PHPにおける整数の型の解釈と is_int() 関数の利用 ---\n\n";
14
15    // PHPが実行時にこれらの変数の値をどのように「解釈」し、型を判定するかを確認します。
16
17    $integerNumber = 42;          // 厳密な整数型
18    $floatNumber = 3.14;          // 浮動小数点数(小数を含む)
19    $stringNumber = "123";        // 文字列だが数値のように見える
20    $stringValue = "hello world"; // 明らかな文字列
21    $booleanValue = true;         // 真偽値(ブール型)
22    $nullValue = null;            // NULL値
23    $zeroValue = 0;               // 整数型としてのゼロ
24    $negativeInteger = -100;      // 負の整数型
25
26    // 各変数に対して is_int() 関数を適用し、結果を表示します。
27    echo "値: " . $integerNumber . " (int)              -> is_int() 結果: " . (is_int($integerNumber) ? "TRUE" : "FALSE") . "\n";
28    echo "値: " . $floatNumber . " (float)            -> is_int() 結果: " . (is_int($floatNumber) ? "TRUE" : "FALSE") . "\n";
29    echo "値: \"" . $stringNumber . "\" (string)         -> is_int() 結果: " . (is_int($stringNumber) ? "TRUE" : "FALSE") . "\n";
30    echo "値: \"" . $stringValue . "\" (string)    -> is_int() 結果: " . (is_int($stringValue) ? "TRUE" : "FALSE") . "\n";
31    echo "値: " . ($booleanValue ? 'true' : 'false') . " (bool)           -> is_int() 結果: " . (is_int($booleanValue) ? "TRUE" : "FALSE") . "\n";
32    echo "値: null (null)              -> is_int() 結果: " . (is_int($nullValue) ? "TRUE" : "FALSE") . "\n";
33    echo "値: " . $zeroValue . " (int)                -> is_int() 結果: " . (is_int($zeroValue) ? "TRUE" : "FALSE") . "\n";
34    echo "値: " . $negativeInteger . " (int)            -> is_int() 結果: " . (is_int($negativeInteger) ? "TRUE" : "FALSE") . "\n";
35
36    echo "\n----------------------------------------------------\n";
37    echo "この例からわかるように、PHPはコードが実行される時に各変数の値を「解釈」し、\n";
38    echo "is_int()のような関数を使って、その値が厳密に整数型に合致するかどうかを判定できます。\n";
39}
40
41// デモンストレーション関数を実行し、結果を出力します。
42demonstrateIntegerTypeInterpretation();

PHPは「解釈型言語」であり、プログラムが実行される時に変数の型を評価します。is_int()関数は、PHP 8で利用可能なこの特性を活用し、ある値が厳密に整数型(integer)であるかを判定するために使用されます。

この関数は、引数として任意の型の値mixed $valueを受け取ります。そして、その値がPHPの内部で「整数型」として認識される場合にのみtrueを、それ以外の場合にはfalseを真偽値(bool)として返します。例えば、420-100のような値は整数型と判定されますが、3.14のような浮動小数点数や、"123"のような文字列型の数字、trueのような真偽値は整数型とは見なされません。

サンプルコードでは、様々なデータ型の変数に対してis_int()関数を適用し、PHPが各値をどのように解釈し、整数型として判定するかを具体的に示しています。これにより、PHPの動的な型チェックの挙動や、is_int()関数が厳密な型検証を行うメカニズムを明確に理解することができます。これは、プログラムの信頼性を高める上で非常に重要な機能です。

PHPのis_int()関数は、変数に格納されている値が厳密に整数型であるかを判定する際に使用します。PHPは実行時に変数の型を解釈しますが、is_int()は値の見た目ではなく、その時点での「実際の型」に注目するため注意が必要です。

例えば、数値のように見える文字列(例: "123")や小数点を含む浮動小数点数(例: 3.14)、真偽値(true/false)は、整数型とは判定されずfalseが返されます。これは、データ型を厳密にチェックする必要がある場面で特に重要です。ユーザーからの入力値が本当に整数であることを確認する際などに活用できます。もし数値として解釈可能であれば良い場合は、is_numeric()などの他の関数も検討すると良いでしょう。

PHP is_int()による型チェックの実践

1<?php
2
3/**
4 * PHPの組み込み関数 is_int() の使用例を示します。
5 * この関数は、PHPによって提供される基本的な型チェック機能の一つで、
6 * 指定された変数が整数型であるかどうかを判定します。
7 *
8 * @param mixed $value 整数型であるかを確認したい値。
9 * @return void
10 */
11function demonstrateIsInt(mixed $value): void
12{
13    // 値の種類に応じて表示を調整
14    $displayValue = match (true) {
15        is_array($value) => 'array',
16        is_object($value) => 'object',
17        default => var_export($value, true), // その他は詳細表示
18    };
19
20    echo "値: " . $displayValue . PHP_EOL;
21
22    // is_int() 関数を使って値が整数であるかを判定
23    if (is_int($value)) {
24        echo "  -> この値は整数型です。" . PHP_EOL;
25    } else {
26        echo "  -> この値は整数型ではありません。" . PHP_EOL;
27    }
28    echo PHP_EOL;
29}
30
31// --- is_int() 関数のデモンストレーション ---
32
33echo "--- PHPが提供する is_int() 関数による型チェック ---" . PHP_EOL . PHP_EOL;
34
35// 1. 整数値の例
36demonstrateIsInt(123);      // 正の整数
37demonstrateIsInt(-45);     // 負の整数
38demonstrateIsInt(0);       // ゼロ
39
40// 2. 浮動小数点数の例 (整数型ではない)
41demonstrateIsInt(12.34);   // 小数点を含む
42demonstrateIsInt(1.0);     // 見た目は整数だが、浮動小数点型
43
44// 3. 文字列の例 (整数型ではない)
45demonstrateIsInt("567");   // 整数に見える文字列
46demonstrateIsInt("-100");  // 負の整数に見える文字列
47demonstrateIsInt("hello"); // 一般的な文字列
48
49// 4. その他の型の例 (整数型ではない)
50demonstrateIsInt(true);    // 真偽値 (true)
51demonstrateIsInt(false);   // 真偽値 (false)
52demonstrateIsInt(null);    // NULL値
53demonstrateIsInt([1, 2]);  // 配列
54demonstrateIsInt(new stdClass()); // オブジェクト
55
56echo "----------------------------------------------------" . PHP_EOL;

PHPのis_int()関数は、PHPによって提供される組み込み関数の一つで、指定された値が整数型であるかどうかを厳密に判定するために使用されます。

この関数は、mixed $valueという引数を受け取ります。これは、数値や文字列、真偽値など、どのようなデータ型の値でも渡すことができることを意味し、is_int()はその渡された値の型を検査します。戻り値はbool型で、渡された値が整数型であればtrueを、そうでなければfalseを返します。

サンプルコードでは、demonstrateIsInt関数を通じてis_int()の具体的な挙動を詳しく示しています。この関数は、様々なデータ型の値を引数として受け取り、その値が整数型であるかをis_int()で判定し、結果を表示します。例えば、123-450のような純粋な整数値は「整数型です」と判定されます。一方で、12.341.0のような浮動小数点数(小数点以下が0であっても浮動小数点型です)、"567"のような数字に見える文字列、truenull、配列やオブジェクトなどは、PHPの定義上は整数型ではないため、「整数型ではありません」と判定される様子が確認できます。このデモンストレーションにより、is_int()がPHPにおける整数型の厳密な定義に基づいて型チェックを行うことが理解できます。

is_int()関数は、変数がPHPの「整数型(integer)」であるかを厳密に判定します。特に注意すべきは、1.0のように見た目は整数でも、PHP内部で「浮動小数点型(float)」として扱われている場合にはfalseを返す点です。また、"123"のように数値に見える文字列も「文字列型(string)」であるため、is_int()ではfalseとなります。この関数は、変数の型によって処理を分岐させたい場合や、厳密な型チェックが必要な場面で安全にコードを記述するために活用できます。

関連コンテンツ

関連プログラミング言語