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 和 XML: 使用expat函数(一)
Oct 09 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP创建对象的六种方式实例总结
Jun 27 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
我的论坛源代码(二)
2006/10/09 PHP
FleaPHP的安全设置方法
2008/09/15 PHP
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
js实现继承的5种方式
2015/12/01 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
详解React 条件渲染
2020/07/08 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python中实现k-means聚类算法详解
2017/11/11 Python
微信小程序python用户认证的实现
2019/07/29 Python
django中的数据库迁移的实现
2020/03/16 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
美术教师自我鉴定
2014/02/12 职场文书
幼儿园老师寄语
2014/04/03 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL