Как проверить целые числа в php?

Пользователь

от ella , в категории: PHP , 2 года назад

Как проверить целые числа в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rebekah , 2 года назад

@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
";
}


Пользователь

от dayna , год назад

@ella 

Также можно использовать функцию is_numeric() для проверки, является ли значение числом в общем смысле. Например:

1
2
3
4
$x = "42";
if (is_numeric($x) && intval($x) == $x) {
    echo "x is an integer";
}


Этот способ будет работать как для целых чисел, так и для чисел с плавающей точкой.