php中的intval可以用来获取变量的整数值,一般我来用格式化用户提交来的变量,比如我限制此变量只能是数字(用来防止注入)
intval -- 获取变量的整数值
描述
int intval ( mixed var [, int base] )
通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。
var 可以是任何标量类型。intval() 不能用于 array 或 object。
注: 除非 var 参数是字符串,否则 intval() 的 base 参数不会有效果。
今天在做项目时发现个有趣的现象.即:intval函数不能格式化位数大于9位的数,可能php认为大于9就超过了一般整数的位数了。
大家可以做个实验
以下为引用的内容: $no = '12345678910'; echo intval($no); echo "-"; echo $no; |
一格式化大于9的数字,结果就会变掉。不知道是我把intval的用途理解错了,还是另有愿因。
不管什么原因吧,大家记住intval最大只能格式化9位数就行了,