PHPバージョン
4+
/* 整数型(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)
is_int(mixed $value): bool
$num = '10';

var_dump(is_int($num)); // bool(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)
$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)
$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 {
    // 無効な入力に対する処理
}
$num1 = 10;
$num2 = 20;

if (!is_int($num1) || !is_int($num2)) {
    echo '足し算は整数に対してのみ実行可能です。';
    exit;
}

$sum = $num1 + $num2;

echo "2つの数値の合計は {$sum} です。";
// 出力: '2つの数値の合計は 30 です。'