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 06 PHP
php你的验证码安全码?
Jan 02 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
解析php5配置使用pdo
Jul 03 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 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 park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
php判断目录存在的简单方法
2019/09/26 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
JavaScript知识点整理
2015/12/09 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
js如何验证密码强度
2020/03/18 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python实现视频下载功能
2017/03/14 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
Python中and和or如何使用
2020/05/28 Python
Python如何转换字符串大小写
2020/06/04 Python
护士毕业生自我鉴定
2014/02/08 职场文书
诉前财产保全担保书
2014/05/20 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
《西门豹》教学反思
2016/02/23 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android