定義と使い方
- PHPバージョン
- 4+
is_int() 関数は、指定された値が整数型(integer)であるかを確認します。引数として渡された値が整数型であれば true を返し、そうでなければ false を返します。
整数型(integer)は、小数点のない数値データを表現するデータ型です。PHPでは、文字列や浮動小数点数も状況に応じて数値として処理されることがありますが、整数型そのものは小数点を持たない整数値のみを指します。
基本例
/* 整数型(integer) */
var_dump(is_int(1)); // bool(true)
var_dump(is_int(0)); // bool(true)
var_dump(is_int(-10)); // bool(true)
/* 浮動小数点数(float) */
var_dump(is_int(1.0)); // bool(false)
var_dump(is_int(0.0)); // bool(false)
var_dump(is_int(3.14)); // bool(false)
/* 文字列 */
var_dump(is_int('1')); // bool(false)
var_dump(is_int('0')); // bool(false)
var_dump(is_int('10')); // bool(false)
/* 数値演算の結果 */
var_dump(is_int(1 + 1)); // bool(true)
var_dump(is_int(10 / 2)); // bool(true)
var_dump(is_int(9 / 2)); // bool(false)
/* 型キャスト(Type Casting、型変換) */
var_dump(is_int((int) '1')); // bool(true)
var_dump(is_int((int) 1.9)); // bool(true)
ご参考ください!gettype() 関数は、指定された値のデータ型を文字列として返します。
構文
is_int(mixed $value): bool
引数
$value |
必須。 整数型(integer)であるかを確認する値です。 |
|---|
戻り値
引数として渡された値が整数型であれば true を返し、そうでなければ false を返します。
注意点
is_int()関数を使用する際、いくつか注意すべき点があります。
文字列 '1' のように数値を表す文字列は false を返します。
$num = '10';
var_dump(is_int($num)); // bool(false)
10.5 のように浮動小数点数(float、小数点を持つ数値)は false を返します。
$num_1 = 10.5;
$num_2 = 10.0;
var_dump(is_int($num_1)); // bool(false)
var_dump(is_int($num_2)); // bool(false)
0123 のように 0 で始まる整数は true を返します。
$num_1 = 0123;
$num_2 = -0123;
$num_3 = 000;
var_dump(is_int($num_1)); // bool(true)
var_dump(is_int($num_2)); // bool(true)
var_dump(is_int($num_3)); // bool(true)
活用例
is_int() 関数は、以下のような場合に使用すると便利、または有用で
変数が整数型であるかを確認する場合
変数が整数型であるかを確認する必要がある場合、is_int() 関数を使用するとコードを簡潔に記述できます。例えば、次のコードは変数が整数型であるかを確認し、それに応じて異なる処理を実行します。
$a = '2';
if (is_int($a)) {
echo '変数 a は整数型です。';
} else {
echo '変数 a は整数型ではありません。';
}
// 出力: '変数 a は整数型ではありません。'
次の例のように、データベースから取得した値が整数であるかを確認する必要がある場合、以下のようにコードを記述できます。
$value = $db->query('SELECT value FROM table WHERE id = 1')->fetchColumn();
if (!is_int($value)) {
echo 'データタイプが正しくありません。';
exit;
}
// ... 残りの処理
入力バリデーション
ユーザーから入力された値が整数であるかを確認する際に使用できます。例えば、フォームから年齢の入力を受ける場合、次のようにコードを記述できます。
$user_input = $_POST['user_input'];
if (is_int($user_input)) {
// 有効な整数入力の処理
} else {
// 無効な入力に対する処理
}
計算の実行
整数値のみを許容する計算を実行する前に入力値が整数であるかを確認するのに使用できます。例えば、2つの数値を足す場合次のようにコードを記述できます。
$num1 = 10;
$num2 = 20;
if (!is_int($num1) || !is_int($num2)) {
echo '足し算は整数に対してのみ実行可能です。';
exit;
}
$sum = $num1 + $num2;
echo "2つの数値の合計は {$sum} です。";
// 出力: '2つの数値の合計は 30 です。'