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 相关文章推荐
mysql 搜索之简单应用
Apr 27 PHP
Mysql中limit的用法方法详解与注意事项
Apr 19 PHP
一个简单的PHP验证码实现代码
May 10 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
php实现微信模板消息推送
Mar 30 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 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实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
帝国cms目录结构分享
2015/07/06 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
js自定义事件代码说明
2011/01/31 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
原生JavaScript实现进度条
2021/02/19 Javascript
NumPy 如何生成多维数组的方法
2018/02/05 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
python学习基础之循环import及import过程
2018/04/22 Python
python滑块验证码的破解实现
2019/11/10 Python
详解python中的闭包
2020/09/07 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
"序列点" 是什么
2016/07/29 面试题
财务管理专业推荐信
2013/11/19 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
心灵点滴观后感
2015/06/02 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
微信小程序调用python模型
2022/04/21 Python