Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 518
1

Почему не работает is_int?

29.06.2018, 22:20. Просмотров 781. Ответов 4
Метки нет (Все метки)

Всем привет! Надо фильтровать данные с формы на отрицательные, положительные и дробные, целые. Использую функцию is_int, но он не работает(всегда возвращает false).
is_int($_POST['...']) + 0 так работает, но не проверяется отрицательные, положительные числа. Для них использую обычное условие если < 0, но если писать -0, то все проходит, а мне надо, чтобы это вызвало ошибку. Как быть?

Т.е. мне надо только положительные, целые числа.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2018, 22:20
Ответы с готовыми решениями:

почему не работает?
&lt;?php $mysqli = new mysqli(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;, &quot;mybase&quot;);...

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

Почему не работает условие?
Всем привет! Есть код, который я сам написал. Я в php новичок, поэтому не...

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

Почему у меня не работает PHP?
У меня Linux. Уcтановил: PHP5 Apache2 libapache2-mod-auth-mysql...

4
Jewbacabra
Эксперт PHP
3557 / 2955 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
30.06.2018, 00:26 2
Лучший ответ Сообщение было отмечено Para bellum как решение

Решение

Цитата Сообщение от Риназ Посмотреть сообщение
is_int($_POST['...'])
В $_POST может быть либо строка, либо массив. is_int возвратит true, только если передать число

Добавлено через 57 секунд
PS. даже в документации об этом напмсано. Крайне рекомендуется туда заглядывать перед тем как создавать тему
Чтобы проверить, что переменная является числом или строкой, содержащей число (как поле ввода в форме, которое всегда является строкой), используйте is_numeric().
https://secure.php.net/manual/ru/function.is-int.php
0
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 518
30.06.2018, 11:22  [ТС] 3
Jewbacabra, так я и так передаю целое число, не работает.
0
Jewbacabra
Эксперт PHP
3557 / 2955 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
30.06.2018, 11:23 4
Цитата Сообщение от Риназ Посмотреть сообщение
так я и так передаю целое число, не работает.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
В $_POST может быть либо строка, либо массив
...
0
Риназ
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 518
30.06.2018, 20:06  [ТС] 5
А как тогда сделать фильтр, чтобы можно было вводить только целые, положительные числа. is_numeric фильтрует только цифры не цифры.

Добавлено через 2 часа 42 минуты
Уже сам нашел ответ. Кому интересно: использовал функцию ctype_digit
0
30.06.2018, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2018, 20:06

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

Почему код работает не корректно?
При нажатии на ссылку, должна исчезать строка. Но этого не происходит. Эта...

ЧТО НЕ ТАК? Почему не работает условие?
Всем привет. Уже почти часа ломаю голову. Вот код: &lt;? $links =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru