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 相关文章推荐
10条PHP编程习惯助你找工作
Sep 29 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
解决laravel5.4下的group by报错的问题
Oct 16 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 验证图片生成函数
2009/05/21 PHP
探讨如何把session存入数据库
2013/06/07 PHP
php数组使用规则分析
2015/02/27 PHP
php数据序列化测试实例详解
2017/08/12 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
js 函数性能比较方法
2020/08/24 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
低版本中Python除法运算小技巧
2015/04/05 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
python文件操作的简单方法总结
2019/11/07 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
WiFi云数码相框:Nixplay
2018/07/05 全球购物
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
主办会计岗位职责
2014/03/13 职场文书
士力架广告词
2014/03/20 职场文书
联片教研活动总结
2014/07/01 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
自我评价优缺点范文
2015/03/11 职场文书
如何利用python实现列表嵌套字典取值
2022/06/10 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js