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函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
php获取目标函数执行时间示例
Mar 04 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
php比较相似字符串的方法
Jun 05 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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实现下载文件的两种方法
2013/07/05 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
详细介绍Python中的偏函数
2015/04/27 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python构建基础的爬虫教学
2018/12/23 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Python模块的制作方法实例分析
2019/12/21 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
python中线程和进程有何区别
2020/06/17 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
android面试问题与答案
2016/12/27 面试题
大专自我鉴定范文
2013/10/23 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android