@ella
В PHP есть функция is_int(), которая проверяет, является ли переданное значение целым числом. Например:
1 2 3 4 5 |
$x = 42; if (is_int($x)) { echo "x is an integer "; } |
Можно также использовать типовое приведение к целому числу с помощью (int) и сравнить результат с самим числом:
1 2 3 4 5 |
$x = "42"; if ((int)$x === $x) { echo "x is an integer "; } |
Обратите внимание, что этот способ может не работать, если число содержит ведущие нули. В этом случае можно использовать регулярное выражение для проверки целого числа:
1 2 3 4 5 |
$x = "042"; if (preg_match('/^-?[0-9]+$/', $x)) { echo "x is an integer "; } |
@ella
Также можно использовать функцию is_numeric() для проверки, является ли значение числом в общем смысле. Например:
1 2 3 4 |
$x = "42"; if (is_numeric($x) && intval($x) == $x) { echo "x is an integer"; } |
Этот способ будет работать как для целых чисел, так и для чисел с плавающей точкой.