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 相关文章推荐
实用函数2
Nov 08 PHP
php实现mysql同步的实现方法
Oct 21 PHP
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Oct 27 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
php preg_match的匹配不同国家语言实例
Dec 29 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
Terran历史背景
2020/03/14 星际争霸
PHP实现文件安全下载
2006/10/09 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
简单的js表单验证函数
2013/10/28 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
js实现每日签到功能
2018/11/29 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
vue实现选中效果
2020/10/07 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
python进程类subprocess的一些操作方法例子
2014/11/22 Python
聊聊Python中的pypy
2018/01/12 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
Python偏函数实现原理及应用
2020/11/20 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
市场专员岗位职责
2014/02/14 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
文案策划求职信
2014/04/14 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
师德先进个人材料
2014/12/20 职场文书
校长个人总结
2015/03/03 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers
pt-archiver 主键自增
2022/04/26 MySQL
Java 数组的使用
2022/05/11 Java/Android