Проверка правильности записи числа в строке

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

Решение
Обратитесь к функции is_numeric():
if (is_numeric('five')) { /* false */ }
if (is_numeric(5)) { /* true */ }
if (is_numeric('5')) { /* true */ }
if (is_numeric(-5)) { /* true */ }
if (is_numeric('-5')) { /* true */ }

Обсуждение
Помимо работы с числами функция is_numeric() может также применяться к числовым строкам. Разница здесь в том, что целое число 5 и строка 5 в PHP с технической точки зрения не идентичны. Конечно, полезно, что функция is_numeric() правильно анализирует
десятичные числа, такие как 5.1; однако числа с разделителем тысячного разряда, такие как 5,100, заставляют функцию is_numeric() вернуть false.

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

is_numeric(str_replace($number, ',', ''));

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

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Взятие логарифмов
Вычисление степеней
Вычисление тригонометрических функций
Вычисления с не десятичными числами
Генерация случайных чисел в пределах диапазона

Вернуться в раздел: PHP / 2. Числа