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脚本的10个技巧(1)
Oct 09 PHP
PHP个人网站架设连环讲(四)
Oct 09 PHP
PHP完整的日历类(CLASS)
Nov 27 PHP
Php注入点构造代码
Jun 14 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
php 流程控制switch的简单实例
Jun 07 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 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
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
2014年项目工作总结
2014/11/24 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
合作意向书怎么写
2019/06/24 职场文书
无线电知识基础入门篇
2022/02/18 无线电
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server