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获取网络上文件
Oct 09 PHP
PHP中动态HTML的输出技术
Oct 09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 PHP
PHP中MD5函数使用实例代码
Jun 07 PHP
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
MongoDB在PHP中的常用操作小结
Feb 20 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 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 数组的指针操作实现代码
2011/02/08 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
妙用Jquery的val()方法
2012/06/27 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
PHP统计代码行数的小代码
2019/09/19 Python
python安装gdal的两种方法
2019/10/29 Python
Python创建临时文件和文件夹
2020/08/05 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
python em算法的实现
2020/10/03 Python
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
2014年市场部工作总结
2014/11/25 职场文书
感谢信模板大全
2015/01/23 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python