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下的权限算法的实现
Apr 28 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
Nov 22 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
php开发微信支付获取用户地址
Oct 04 PHP
Yii开启片段缓存的方法
Mar 28 PHP
Laravel 的数据库迁移的方法
Jul 31 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 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
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
JS中style属性
2006/10/11 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
浅谈Postman解决token传参的问题
2018/03/31 Javascript
js的对象与函数详解
2019/01/21 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
想学画画?python满足你!
2020/12/24 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
继承公证书样本
2014/04/04 职场文书
食品安全处置方案
2014/06/14 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript