PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 每日技巧 >> 

intval函数不能格式化超过9位的数字

intval函数不能格式化超过9位的数字

来源:PHP程序员站  作者:phperz.com  发布时间:2010-12-22
php中的intval可以用来获取变量的整数值,一般我来用格式化用户

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位数就行了,


延伸阅读:
php函数intval()使用不当的安全漏洞分析
Tags: 数字   格式化   函数   intval  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号