@generate
...

Преобразовать строку в число, узнать целое ли число?

Например число приходит из POST запроса его нужно проверить целое ли число, если целое дать ответ ок если не целое no. Не целое чесло имею ввиду 1.2 типо такие числа Как это можно сделать ?

Есть gettype но сперва нужно строку образовать в число.
Есть is_numeric но почему то он сразу выдает целое число из строки

$post = '1';
$newpost = intval($post)  //Нашел такое но не помогает

if (is_int($post)) {
echo "ye";
} else{
echo "no";
}
  • Вопрос задан
  • 184 просмотра
Решения вопроса 2
@orsha-ivanov
echo filter_input(INPUT_POST, 'имя_POST_переменной', FILTER_VALIDATE_INT) ? 'yes' : 'no';

Документация (пример 19)
Ответ написан
dyuriev
@dyuriev
A posteriori
Не php-разработчик, но первая мысль - умножить строку на единицу (о чудный пхп с его умениями умножать неумножаемое)

<?php

$var1 = '141.212';
$var2 = '32';

var_dump(is_int($var1*1));
var_dump(is_int($var2*1));

?>

Результат
bool(false)
bool(true)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы