Конвертирование строки в число

248
08 августа 2017, 17:17

Как проверить входящую строку число это или нет.

То есть смотрите есть строка

$str = 'текст, не число';

И нужно проверить если там число, то тогда записать его в переменную, если нет - то выполнить другой код. Вот приблизительный алгоритм

if (/*логика проверки число это или нет*/)
{
   $count = $str /*логика конверктирования*/;
   #код...
}
else
   echo 'Вы ввели не число!';
Answer 1

Используйте is_int($str), если в переменной число, то она вернет TRUE, а если нет, то FALSE

23 - true
'23' - false
23.5 - false
NULL - false

UPD: Число еще может быть в виде строки (допустим '25') или не целым, тогда эта функция отметит его как FALSE. В таком случае лучше использовать is_numeric. Она оценивает строку на наличиее числа в ней.

'42' - число
'1337' - число
'not numeric' - НЕ число
'Array' - НЕ число
'9.1' - число
Answer 2

Хммм, канешн интересный вопрос, а не пробовал искать на оф сайте?

http://php.net/manual/ru/function.is-numeric.php

<?php
$tests = array(
    "42",
    1337,
    0x539,
    02471,
    0b10100111001,
    1337e0,
    "not numeric",
    array(),
    9.1
);
foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' - число", PHP_EOL;
    } else {
        echo "'{$element}' - НЕ число", PHP_EOL;
    }
}
?>

Результат выполнения данного примера:

'42' - число
'1337' - число
'1337' - число
'1337' - число
'1337' - число
'1337' - число
'not numeric' - НЕ число
'Array' - НЕ число
'9.1' - число
READ ALSO
CURL ошибка при отправке параметров GET

CURL ошибка при отправке параметров GET

Отправляю GET запрос CURLом, для добавления данных в гугл дискЕсли ввожу данные в запросе вручную(конкретные строки), то все ок, запрос проходит...

253
Нужно отправить файл через form

Нужно отправить файл через form

Нужно отправить файл через форму на сайтеСделать надо через php, то есть:

261
Выбор часового пояса с помощью select

Выбор часового пояса с помощью select

Здравствуйте! Есть сайт где администратор сам может указывать часовой пояс, как это показано на картинкеПосле этого на сайте отображается...

315
Как реализовать каррирование в PHP

Как реализовать каррирование в PHP

Пусть у меня есть анонимная функция

612