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" 的字符串.谢谢您的帮助.
它没有:
var_dump( is_int(-10) ); // bool(true)
Run Code Online (Sandbox Code Playgroud)
也许,开头不是一个数字:
var_dump( is_int('-10') ); // bool(false)
Run Code Online (Sandbox Code Playgroud)
如果是这样,请尝试is_numeric(),它是为字符串设计的.