Строки и is_int

Интересное наблюдение вычитал в книжке "Профессиональное программирование в php". Автор пишет, что:

Использование вместо функции is_int регулярного выражения для определения того, является ли $п целым числом, может показаться странным. Однако функция is_int не делает того, что в данном случае требуется. Она только проверяет, типизирована ли переменная $п как строковая или как целочисленная, но не проверяет, является ли значение переменной $п целым числом. Данный нюанс может ввести разработчика в заблуждение, если он использует функцию is_int для проверки данных HTML-форм (среди прочего).

Я как-то не сталкивался с этим раньше и решил проверить. Оказалось действительно:

<?php
var_dump(is_int("56"));
var_dump(is_int(56));

Выдает: bool(false) bool(true) 

Комментарии (2) на “Строки и is_int”

  1. Валакас:

    is_numeric лечит эту проблему

  2. Дмитрий:

    Это и не проблема, is_int это же только для проверки типов.

Оставить комментарий

В Вашем браузере отключена поддержка JavaScript! Для корректной работы Вам необходимо включить поддержку JavaScript и обновить данную страницу.

Информеры с тИЦ и PR: получить код для сайта
Закажите принтеры штрих кодов, весы платформенные - доставка бесплатно . und noch mal Datenrettung