PHP中的Division by zero报错处理技巧.docx 立即下载
2025-08-18
约4.7千字
约8页
0
14KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

PHP中的Division by zero报错处理技巧.docx

PHP中的Divisionbyzero报错处理技巧.docx

预览

免费试读已结束,剩余 3 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PHP中的Divisionbyzero报错处理技巧

ecshop部分模板使用时,会出现“Warning:Divisionbyzeroinxxxxxlib_goods.php”错误,那么怎么处理呢?来看看小编的分享吧!错误提示在打开某些产品分类或者某些产品页面的时候,特定语言才报错。错误是:Divisionbyzeroinxxx错误原因这个错误的原因,就是运算的过程中,被除数是0。上过小学的都知道“0是不可以作为被除数的”。解决思路1:判断值为0的时候跳过运算;2:如果非要赋值给一个变量,可以做判断后赋固定值或者输出false,后面代码判断如果变量是true才使用它进行下一步代码的实现。DEBUGING解决问题之前,先来个两个小知识点:1、在opencart中,vqmod的优先等级是最高的;2、哪里报错不一定错误就在哪里,但是首先看的还是报错的地方。从上图中,我们找到了vqcache下对应的文件对应行数,发现如下代码://Cosyonecustomcodestartsif((float)$result['special']){$sales_percantage=((($this->tax->calculate($result['price'],$result['tax_class_id'],$this->config->get('config_tax')))-($this->tax->calculate($result['special'],$result['tax_class_id'],$this->config->get('config_tax'))))/(($this->tax->calculate($result['price'],$result['tax_class_id'],$this->config->get('config_tax')))/100));}else{$sales_percantage=false;}从这个代码可以看出有若干个参数,我们留意“/”后面的被除数就好,这里被除数有两个地方,其中第二个是正整数100,可以排除。那么问题就在下面这段代码中:$this->tax->calculate($result['price'],$result['tax_class_id'],$this->config->get('config_tax'))我们从上面这个方法里看到三个参数,分别用print_r打印了下参数的值,结果发现第二个参数“$result['tax_class_id']”是“000000”。很显然,如果这个是0,我们就要让:$sales_percantage=false;所以我们这里的代码要修改为://Cosyonecustomcodestartsif((float)$result['special']&&$result['tax_class_id']){$sales_percantage=((($this->tax->calculate($result['price'],$result['tax_class_id'],$this->config->get('config_tax')))-($this->tax->calculate($result['special'],$result['tax_class_id'],$this->config->get('config_tax'))))/(($this->tax->calculate($result['price'],$result['tax_class_id'],$this->config->get('config_tax')))/100));}else{$sales_percantage=false;}也就是,加多一个判断依据,必须满足两个值都存在的前提下,才进行如下运算,否则是false。修改代码,保存代码,上传文件,刷新页面,警告提示语消失,over。但是,毕竟我们改的是缓存文件,真正要修改好代码,我们还是要把代码写到核心文件或者插件的文件里。修改源首先,我们从三个
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

PHP中的Division by zero报错处理技巧

文档大小:14KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用