You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP运行报Uncaught DivisionByZeroError除零错误该如何解决?

错误产生原因

该错误属于PHP运行时的除零异常,直接原因是你代码中$plates_per_kg变量的值为0,执行1000/$plates_per_kg运算时触发了除以0的非法操作。
$plates_per_kg从查询结果集的$row['s_pkg']字段取值,通常是因为对应数据库记录的s_pkg字段值为0,或是字段读取异常导致变量被赋值为0。

修复方案

核心逻辑是运算前增加参数合法性校验,避免0值参与除法运算,参考修复代码如下:

$total_plates = $row['s_tps'];
$total_a_kg = $row['s_kg'];
$plates_per_kg = $row['s_pkg'];
$remaing_kg = 0;
// 先校验除数合法性
if (!empty($plates_per_kg) && is_numeric($plates_per_kg) && $plates_per_kg != 0) {
    $remaing_kg = (1000 / $plates_per_kg) * $total_plates;
} else {
    // 可自定义除数为0时的兜底逻辑,比如赋值默认值、抛出业务提示等
    echo "单位重量对应板材数量参数异常,无法计算剩余重量";
}
echo $remaing_kg;

额外优化建议:

  • 可以增加数据库查询层的校验,查询时过滤s_pkg为0的无效记录,从数据源层面避免异常值传入业务逻辑。
  • 若业务规则允许s_pkg为0,可根据实际业务场景调整兜底逻辑的处理规则。

内容的提问来源于stack exchange,提问作者Mr.Geeky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:45:04