• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом

Проверка значения переменной в PHP

При разработке скриптов и веб-приложений достаточно часто требуется проверить, содержит ли некая переменная числовое значение.

Обычно это важно с точки зрения дальнейших операций, которые потом будут проделаны с этой переменной.

При этом стоит отметить, что нередко переменная может иметь тип "строка", но хранить при этом вполне себе числовое значение.

Решением в этом случае будет использование функции is_numeric(). Она возвращает true, если значение проверяемой переменной является числом или строкой, содержащей число, и false - в противном случае.

Давайте рассмотрим ее работу на следующем примере.


// Массив "кандидатов" на проверку
$candidates = array(5, '5', '05', 12.3, '16.7', 'пять', 0xDECAFBAD, '10e200');

// Проверяем каждый элемент на предмет того, является
// ли он числом или строкой, содержащей число
foreach ($candidates as $maybeNumber)
{
    $isItNumeric = is_numeric($maybeNumber);
    $actualType  = gettype($maybeNumber);

    echo "Является ли $actualType $maybeNumber числом? ";

    if (is_numeric($maybeNumber))
    {
        echo "Да";
    }

    else
    {
        echo "Нет";
    }

    echo "
"; }

Поскольку разнообразие чисел огромно, мы не может считать, что некое значение является числом просто потому, что оно состоит из символов от 0 до 9.

Что делать с точкой (разделителем дробной части) или знаком "минус"? Их нельзя просто включить в набор проверяемых символов, потому что минус может располагаться только в начале числа, а точка может быть только одна.

А ведь еще есть шестнадцатеричные числа и вариант экспоненциальной (научной) записи чисел.

Все эти варианты прекрасно предусматривает PHP-функция is_numeric().

Важно, что она не только определяет, содержит ли переменная данные, являющиеся числом, но и проверяет, возможно ли эти данные преобразовать в число.

Разумеется, формально число 5 и строка 5 с точки зрения PHP различаются. Однако обычно эти различия для нас совершенно несущественны, поэтому функция is_numeric() все же приносит пользу.

Данная функция умеет распознавать дробные числа (например, 5.1) и возвращать true, однако для чисел с разделителями групп разрядов (например, 5,100) она вернет значение false.

Чтобы убрать разделители групп разрядов из числа перед вызовом is_numeric(), воспользуйтесь функцией str_replace().

$number="5,100";

// Этот вызов is_numeric() возвращает false
$withCommas = is_numeric($number);

// Этот вызов is_numeric() возвращает true
$withoutCommas = is_numeric(str_replace(',', '', $number));

Если же вы хотите узнать, относится ли число к конкретному числовому типу, используйте следующие функции с "говорящими" именами: is_float() (или is_double(), или is_real(); это одно и то же) и is_int() (или is_integer(), или is_long()).

В действительности, числовые данные бывают и других форматов: положительные, отрицательные, дробные числа и др., но это уже тема другой заметки, и мы обязательно вернемся к этому моменту.

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

CodeIgniter: жив или мертв?

CodeIgniter: жив или мертв?

Функции обратного вызова, анонимные функции и механизм замыканий

Функции обратного вызова, анонимные функции и механизм замыканий

Применение функции к каждому элементу массива

Применение функции к каждому элементу массива

Слияние массивов. Преобразование массива в строку

Слияние массивов. Преобразование массива в строку

Деструктор и копирование объектов с помощью метода __clone()

Деструктор и копирование объектов с помощью метода __clone()

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

PHP: Удаление элементов массива

PHP: Удаление элементов массива

Ключевое слово final (завершенные классы и методы в PHP)

Ключевое слово final (завершенные классы и методы в PHP)

50 классных сервисов, программ и сайтов для веб-разработчиков

50 классных сервисов, программ и сайтов для веб-разработчиков

Наверх