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笔试题
Aug 04 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
PHP对象Object的概念 介绍
Jun 14 PHP
基于header的一些常用指令详解
Jun 06 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
php中session定期自动清理的方法
Nov 12 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
php事件驱动化设计详解
Nov 10 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 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
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
转一个日期输入控件,支持FF
2007/04/27 Javascript
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
简单了解python中对象的取反运算符
2019/07/01 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
python中rc1什么意思
2020/06/19 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
大二自我鉴定范文
2013/10/05 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
装修施工安全责任书
2014/07/24 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
幼儿教师辞职信
2015/02/27 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
2015年宣传工作总结
2015/04/08 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
食品安全主题班会
2015/08/13 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL