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
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
树型结构列出指定目录里所有文件的PHP类
Oct 09 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
PHP 输出简单动态WAP页面
Jun 09 PHP
php输入流php://input使用浅析
Sep 02 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
php提交表单发送邮件的方法
Mar 20 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
Laravel学习基础之migrate的使用教程
Oct 11 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 16 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
python cookielib 登录人人网的实现代码
2012/12/19 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
村抢险救灾方案
2014/05/09 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
企业法人授权委托书
2014/09/25 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
汽车转让协议书范本
2014/12/07 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
紫日观后感
2015/06/05 职场文书
500字作文之周记
2019/12/13 职场文书
Redis实战高并发之扣减库存项目
2022/04/14 Redis
mysql数据库如何转移到oracle
2022/12/24 MySQL