【发布时间】:2011-08-17 16:36:47
【问题描述】:
php 的 is_int 函数是否返回 false 为负数,因为 php 中的整数是无符号的,还是我缺少其他行为?我正在尝试检查某个东西是否是一个整数,如果它正在做不同的事情,我不想依赖 is_int 的行为(对于测试的第一部分)。
澄清:我知道is_int 返回false 为负数,但我问为什么 因为这种行为:var_dump(intval("-10")) 打印int(-10),var_dump(intval("10")) 打印int(1),因此负值和正值都被视为整数,而 is_int("-10") 返回 false。
编辑:好的,对不起大家,我对 is_int 和一般整数的行为有点困惑。当我需要的是字符串上的is_numeric 或整数本身上的is_int 时,我正在考虑它作用于内容如“-10”的字符串。谢谢您的帮助。
【问题讨论】:
-
"-10" 是字符串而不是整数。整数的 PHP 手册也说
PHP does not support unsigned integers.php.net/manual/en/language.types.integer.php -
如果还不清楚:
is_int()是否 not 为负数返回FALSE,无论您了解多少。当变量类型不是整数时返回 FALSE,如documented。 -
再次感谢您;请参阅我对我为什么感到困惑的说明。