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的宝库目录--PEAR
Oct 09 PHP
example1.php
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
PHP抽象类 介绍
Jun 13 PHP
php中使用临时表查询数据的一个例子
Feb 03 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP编程风格规范分享
Jan 15 PHP
PHP中常用的转义函数
Feb 28 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 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/04/12 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
Joomla开启SEF的方法
2016/05/04 PHP
php fread读取文件注意事项
2016/09/24 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
layui的select联动实现代码
2019/09/28 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python算法演练_One Rule 算法(详解)
2017/05/17 Python
python retrying模块的使用方法详解
2019/09/25 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
Python中生成ndarray实例讲解
2021/02/22 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
企业门卫岗位职责
2013/12/12 职场文书
文明教师事迹材料
2014/01/16 职场文书
婚庆司仪主持词
2014/03/15 职场文书
剪彩仪式主持词
2014/03/19 职场文书
创先争优标语
2014/06/27 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
休假证明书
2015/06/24 职场文书
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript