php проверка на целое положительное число

is_int

(PHP 4, PHP 5, PHP 7, PHP 8)

is_int — Проверяет, является ли переменная целым числом

Описание

Проверяет, является ли тип переменной целочисленным.

Список параметров

Возвращаемые значения

Примеры

Пример #1 Пример использования is_int()

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

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

User Contributed Notes 30 notes

I’ve found that both that is_int and ctype_digit don’t behave quite as I’d expect, so I made a simple function called isInteger which does. I hope somebody finds it useful.

var_dump ( is_int ( 23 )); //bool(true)
var_dump ( is_int ( «23» )); //bool(false)
var_dump ( is_int ( 23.5 )); //bool(false)
var_dump ( is_int ( NULL )); //bool(false)
var_dump ( is_int ( «» )); //bool(false)

var_dump ( ctype_digit ( 23 )); //bool(true)
var_dump ( ctype_digit ( «23» )); //bool(false)
var_dump ( ctype_digit ( 23.5 )); //bool(false)
var_dump ( ctype_digit ( NULL )); //bool(false)
var_dump ( ctype_digit ( «» )); //bool(true)

var_dump ( isInteger ( 23 )); //bool(true)
var_dump ( isInteger ( «23» )); //bool(true)
var_dump ( isInteger ( 23.5 )); //bool(false)
var_dump ( isInteger ( NULL )); //bool(false)
var_dump ( isInteger ( «» )); //bool(false)
?>

The correct output for parts of his examples should be:

Keep in mind that is_int() operates in signed fashion, not unsigned, and is limited to the word size of the environment php is running in.

In a 32-bit environment:

( 2147483647 ); // true
is_int ( 2147483648 ); // false
is_int ( 9223372036854775807 ); // false
is_int ( 9223372036854775808 ); // false
?>

In a 64-bit environment:

( 2147483647 ); // true
is_int ( 2147483648 ); // true
is_int ( 9223372036854775807 ); // true
is_int ( 9223372036854775808 ); // false
?>

If you find yourself deployed in a 32-bit environment where you are required to deal with numeric confirmation of integers (and integers only) potentially breaching the 32-bit span, you can combine is_int() with is_float() to guarantee a cover of the full, signed 64-bit span:

= 2147483647 ; // will always be true for is_int(), but never for is_float()
$big = 9223372036854775807 ; // will only be true for is_int() in a 64-bit environment

I’ve found a faster way of determining an integer.
On my env, this method takes about half the time of using is_int().

Cast the value then check if it is identical to the original.

With this function you can check if every of multiple variables are int. This is a little more comfortable than writing ‘is_int’ for every variable you’ve got.

Simon Neaves’s answer is incomplete: negative integers will return false.

Источник

Лучший способ проверить положительное целое число (PHP)?

Мне нужно проверить, что входное значение формы является положительным целым числом (а не просто целым числом), и я заметил еще один фрагмент кода, используя следующий код:

Мне было интересно, есть ли преимущество в использовании трех проверок выше, вместо того, чтобы делать что-то вроде этого:

См. Эти ссылки для получения дополнительной информации:

Функция php is_numeric

Функция php is_int

Не уверен, почему нет предложения использовать filter_var. Я знаю, что это старая нить, но, возможно, это поможет кому-то (в конце концов, я оказался здесь, верно?).

Вы также можете добавить максимальное значение.

Лучший способ проверить положительные целые числа, когда переменная может быть INTEGER или STRING, представляющая целое число:

Разница между этой проверкой и is_numeric() заключается в том, что is_numeric() вернет true даже для значений, которые представляют числа, которые не являются целыми (например, «+0.123»).

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

Затем я выполнил вышеуказанные тесты как для целых, так и для строковых значений

Вариант 1: простое испытание литья / эквивалентности

Вариант 2: использование is_int () и ctype_digit ()

Вариант 3: регулярные выражения

Возможно, неудивительно, что вариант 1, безусловно, самый быстрый, так как нет вызовов функций, просто кастинг. Также стоит отметить, что в отличие от других методов, параметр 1 рассматривает значение string-float-integer «5.0» как целое число:

Независимо от того, хорошо ли это для вашего конкретного случая использования, остается как упражнение для читателя …

Другой лучший способ проверить число Integer – использовать регулярное выражение. Вы можете использовать следующий код для проверки значения Integer. Он будет ложным для значений float.

is_int вернет false, если передал строку. См. Примеры руководства PHP для is_int

и если вы хотите ограничить длину:

Таким образом, pisitive int с максимальной длиной 6:

Вам не нужно использовать все три проверки, и если вы хотите получить положительное целое число, которое вы, возможно, захотите сделать противоположным тому, что находится в вашем коде:

Проверьте ответ Sören для получения дополнительной информации о различии между is_int() и is_numeric()

Чтобы проверить положительное целочисленное использование:

Используйте ту, которая соответствует вашей цели, поскольку они одинаковы. Следующие примеры демонстрируют разницу между is_numeric() и is_int() :

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

Вместо проверки string int OR с несколькими условиями, такими как:

вы можете упростить это, просто введя ввод в (string) чтобы один вызов ctype_digit проверил как string и int входы:

Если вы используете «is_int», переменная должна быть целочисленной, поэтому она не может быть значением float. (не требуется раунд).

Я бы сделал что-то вроде этого:

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

Это мое решение, надеюсь, полезно:

я проверяю, является ли строка числовой, вторая проверка, чтобы убедиться, что она целая и третья,

Источник

Лучший способ проверить положительное целое число (PHP)?

Мне нужно проверить, что входное значение формы является целым положительным (а не целое число), и я заметил еще один фрагмент кода, используя следующий код:

Мне было интересно, есть ли преимущество в использовании трех проверок выше, вместо того, чтобы делать что-то вроде этого:

ОТВЕТЫ

Ответ 1

См. эти ссылки для получения дополнительной информации:

Ответ 2

Не уверен, почему нет предложения использовать filter_var для этого. Я знаю, что это старая ветка, но, может быть, она кому-нибудь поможет (в конце концов, я оказался здесь, верно?).

Вы также можете добавить максимальное значение.

Ответ 3

Лучший способ проверки положительных целых чисел, когда переменная может быть INTEGER или STRING, представляющая целое число:

Разница между этой проверкой и is_numeric() заключается в том, что is_numeric() вернет true даже для значений, которые представляют числа, которые не являются целыми числами (например, «+0.123» ).

Ответ 4

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

Затем я выполнил вышеуказанные тесты как для целых, так и для строковых значений

Вариант 1: простое тестирование литья/эквивалентности

Вариант 2: использование is_int() и ctype_digit()

Вариант 3: регулярные выражения

Возможно, неудивительно, что вариант 1, безусловно, самый быстрый, поскольку нет вызовов функций, просто кастинг. Также стоит отметить, что в отличие от других методов, вариант 1 рассматривает значение string-float-integer «5.0» как целое число:

Будет ли это хорошо для вашего конкретного случая использования оставлено в качестве упражнения для читателя.

Ответ 5

Ответ 6

Ответ 7

Ответ 8

Laravel 4.2 Правило проверки положительного числа

Он принимает только положительные числа, включая значения float.

Ответ 9

Вместо проверки int OR string с несколькими условиями, например:

Ответ 10

is_int вернет false, если передал строку. См. Справочные примеры PHP для is_int

Ответ 11

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

Проверьте ответ Sören для получения дополнительной информации о разнице между is_int() и is_numeric()

Ответ 12

и если вы хотите ограничить длину:

Так pisitive int с максимальной длиной 6:

Ответ 13

Чтобы проверить положительное целочисленное использование:

Используйте ту, которая соответствует вашей цели, поскольку они одинаковы. Следующие примеры демонстрируют разницу между is_numeric() и is_int() :

Ответ 14

Ответ 15

Хорошо, я знаю, что эта ветка действительно старая, но я разделяю мнение @Jeffrey Vdovjak: поскольку я смог ее найти, она все равно может помочь кому-то другому.

Ответ 16

Ответ 17

Если вы используете «is_int», переменная должна быть целочисленной, поэтому она не может быть значением float. (не требуется раунд).

Ответ 18

Ответ 19

Я бы сделал что-то вроде этого:

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

Ответ 20

Это мое решение, надеюсь, полезно:

i проверить, является ли строка числовой, второй проверить, чтобы убедиться, что она целая и третья, чтобы она была положительной

Источник

Проверка на целое число >= 1

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

Вы все долбанулись махом, что ли?

Всё. Никаких регулярок.

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

lexa
Согласен, проглядел
is_numeric — Finds whether a variable is a number or a numeric string
с is_int не читая мануалов думал алиасинг)

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

lexa
а не целые то тоже пойдут))
так что лучше intval($var)==$var

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

Как интересно товарищи проверку на инт делают. Даже не ожидал такого размахаphp проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

Вот теперь советую.

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

и что вы думаете))) по мнению пхп: 0 == text php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число2+2=5

В этой таблице не приведено везде сравнение с числами меньше единицы.

Вот это адекватно работает!

и. Про каждую тему, которая находится здесь, было обсуждение на stackoverflow.

Вообще не вижу никаких поводов для беспокойства. Проверка на инт как правило нужна для фильтрации от sql-инъекции, я привёл самый быстрый и простой практичный пример, как это делается.

А теперь вы меня тыкаете носом, что я ничего вам не рассказал про отрицательные числа. Некрасиво.

Самый надёжный (и медленный) способphp проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

Кстати, почему /^8+$/ работает быстрее [^0-9]?

Источник

PHP проверка на число

Как в php проверить является ли переменная целым положительным число. Именно целым (дробное не допускается), т.е. функция is_numeric не подходит. ( is_int тоже не подходит )

14 ответов 14

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

P.S: Существует бесконечное кол-во способов решения вашего туманно сформулированного вопроса

Уже предложена куча вариантов, но я бы наверное сделал так

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

как вариант проверь сначала is_numeric, а потом проверь что в строке отсутствуют знаки ‘+’ и ‘.’ и ‘,’

Мне нравится такое решение, всегда использую:

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

php проверка на целое положительное число. Смотреть фото php проверка на целое положительное число. Смотреть картинку php проверка на целое положительное число. Картинка про php проверка на целое положительное число. Фото php проверка на целое положительное число

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *