【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型引数と組み合わせることで、多様な入力に対する型チェックを明示的に行い、予期せぬ型に起因するエラーを防ぎ、安全で堅牢なプログラムを作成するのに役立ちます。

関連コンテンツ

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