php 格式化数字的时候注意数字的范围


Posted in PHP onApril 13, 2010

构造sql语句是 比起来

$sql = 'SELECT * 
FROM sdb_comments 
WHERE goods_id = '.intval($goods_id).' 
AND for_comment_id IS NULL 
AND object_type = ".$item." 
AND disabled="false" 
AND display = "true"';

我更喜欢这样做:
$sql = sprintf('SELECT * 
FROM sdb_comments 
WHERE goods_id = %.0f 
AND for_comment_id IS NULL 
AND object_type = "%s" 
AND disabled="false" 
AND display = "true"', (float)$goods_id, $item);

这个语句还算 简单,如果是更复杂的话,用拼接字符串的话,那简直就是一个噩梦。

使用第二种方式的话,比较方便.但是一个小问题:在格式化数字的时候就需要注意其取值范围。数字操作了取值反问。那么最后返回的sql 也不是我们需要的。

我今天做了个总结:

%d: 2^31~2^31-1(-2147483648~2147483647) (将int转化为有符号十进制)

%b:二进制(将int类型的转化为二进制)

%c:字符(将int类型转化为字符)

%u: 2^32-1(0 ~ 4294967295) (将int转化为有符号十进制)

%f: -2^128-2^128(-3.4E38 ~+3.4E38)(将float转化为float) 本地化

%F: -2^128-2^128(-3.4E38 ~+3.4E38)(将float转化为float) 非本地化

%o (将int转化为八进制)

%s:字符串

%x:将int转化为小写字母的十六进制

%X:将int转化为大写字母的十六进制

因为 数据库中 id 可能会很大 如果使用%d的话,就可能出现因为超出了范围,而到不到正确的结果。所以,个人建议 对id进行格式化的时候 使用%.0f 比 %d 要 好的多。

PHP 相关文章推荐
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
PHP遍历二维数组的代码
Apr 22 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
php获取目标函数执行时间示例
Mar 04 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
Smarty模板变量调节器用法分析
May 23 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php源码之将图片转化为data/base64数据流实例详解
Nov 27 PHP
php微信开发之谷歌测距
Jun 14 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 #PHP
php 上传功能实例代码
Apr 13 #PHP
php array_search() 函数使用
Apr 13 #PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 #PHP
php读取javascript设置的cookies的代码
Apr 12 #PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 #PHP
php Smarty模板生成html文档的方法
Apr 12 #PHP
You might like
php生成xml简单实例代码
2009/12/16 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
PHP微信分享开发详解
2017/01/14 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
Python中的默认参数实例分析
2018/01/29 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
母亲追悼会答谢词
2014/01/27 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
投标诚信承诺书
2014/05/26 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
思想作风建设心得体会
2014/10/22 职场文书
先进工作者申报材料
2014/12/23 职场文书
新生入学欢迎词
2015/01/26 职场文书
复兴之路展览观后感
2015/06/02 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
英语教学课后反思
2016/02/15 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript
Mysql如何查看是否使用到索引
2022/12/24 MySQL