is_int() - php 变量处理函数
is_int()
(PHP 4, PHP 5, PHP 7)
检测变量是否是整数
描述
is_int(mixed $var): bool如果$var是integer则返回TRUE
,否则返回FALSE
。
若想测试一个变量是否是数字或数字字符串(如表单输入,它们通常为字符串),必须使用is_numeric()。
参见is_bool()、is_float()、is_integer()、is_numeric()、is_string()、is_array()和is_object()。
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.
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: In a 64-bit environment: 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:
Simon Neaves was close on explaining why his function is perfect choice for testing for an int (as possibly most people would need). He made some errors on his ctype_digit() output though - possibly a typo, or maybe a bug in his version of PHP at the time. The correct output for parts of his examples should be: As you can see, the reason why using *just* ctype_digit() may not always work is because it only returns TRUE when given a string as input - given a number value and it returns FALSE (which may be unexpected).
Simon Neaves's answer is incomplete: negative integers will return false. I recommend checking stackoverflow's answers: http://stackoverflow.com/questions/6416763/checking-if-a-variable-is-an-integer-in-php
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.
negative number will be true :)
If you want detect integer of float values, which presents as pure int or float, and presents as string values, use this functions:
Just a shorter way to check if your variable is an int or a string containing a int without others digit than 0 to 9 :
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)