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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
php 页面执行时间计算代码
Dec 04 PHP
php二分查找二种实现示例
Mar 12 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
Yii实现简单分页的方法
Apr 29 PHP
php实现文件预览功能
May 23 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 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实现ODBC数据分页显示一例
2006/10/09 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
比较搞笑的js陷阱题
2010/02/07 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
json的使用小结
2016/06/08 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
详解vue 命名视图
2019/08/14 Javascript
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
python实现图像外边界跟踪操作
2020/07/13 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
我的老师教学反思
2014/05/01 职场文书
人力资源职位说明书
2014/07/29 职场文书
党员演讲稿
2014/09/04 职场文书
党课心得体会范文
2014/09/09 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
开展警示教育活动总结
2015/05/09 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
Java实现多线程聊天室
2021/06/26 Java/Android