Задать вопрос
@generate
...

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

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

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

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

if (is_int($post)) {
echo "ye";
} else{
echo "no";
}
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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