PHP整数取余返回负数的相关解决方法


Posted in PHP onMay 15, 2014

PHP语言虽然功能强大,但并不代表其没有缺点,在编写代码的过程中未免会遇到一些让人头痛的问题。下面我们将为大家介绍有关PHP整数取余返回负数的解决办法。

我们先来看个例子.

$res = 16244799483; 
echo $res%9999999; 
// 输出结果为 -5069794, 正确的结果应该是4801107

其实这也算上PHP一个BUG吧.最主要是PHP是个弱类型语言.他内置了机器来判断用户的类型.

但是机器毕竟是机器.也有判断出错的时候.就像上面.所以这时候我们就需要人工干预下.

所以我就想到要用下面的方法来解决PHP整数取余返回负数的问题.

$res = floatval(16244799483); 
var_dump($res % 9999999);

我们看到结果还是错误的-5069794.

但是值得注意的是返回是一个int类型的.

详细思考了一下.PHP整数取余返回负数的问题是这样处理的.

PHP取余默认为整数的.

而且当你定义$res = 16244799483;

其实就已经溢出了.所以要加上强制类型转换.变成float类型.

但是这样还不够.因为%这个取模计算还是针对整数的.

所以我们需要一个函数fmod.是针对float类型的.

所以最终PHP整数取余返回负数的解决办法为:

$res = floatval(16244799483); 
var_dump(fmod($res,9999999));

这样我们就解决了PHP整数取余返回负数这个问题.:)

PHP 相关文章推荐
汉字转化为拼音(php版)
Oct 09 PHP
PHP生成静态页面详解
Nov 19 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 #PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 #PHP
php实例分享之二维数组排序
May 15 #PHP
php表单请求获得数据求和示例
May 15 #PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 #PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 #PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 #PHP
You might like
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
Python日志模块logging基本用法分析
2018/08/23 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python async with和async for的使用
2019/06/20 Python
CSS3 简写animation
2012/05/10 HTML / CSS
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
请假条格式范文
2014/04/10 职场文书
防沙治沙典型材料
2014/05/07 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
学习三严三实心得体会
2014/10/13 职场文书
健康状况证明模板
2014/10/23 职场文书
讲文明倡议书
2015/04/29 职场文书
企业投资意向书
2015/05/09 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书