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 相关文章推荐
discuz安全提问算法
Jun 06 PHP
PHP 创建标签云函数代码
May 26 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
PHP常用的三种设计模式
Feb 17 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
使用PHP开发留言板功能
Nov 19 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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打造属于自己的MVC框架
2012/03/07 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
vue小白入门教程
2018/04/02 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
Python的面向对象思想分析
2015/01/14 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
django Serializer序列化使用方法详解
2018/10/16 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python基于opencv检测程序运行效率
2019/12/28 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
科室工作的个人自我评价
2013/10/30 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
中学生寄语大全
2014/04/03 职场文书
计生专干事迹
2014/05/28 职场文书
政风行风评议整改方案
2014/09/15 职场文书
神龙架导游词
2015/02/11 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS