警告:通过零分区工作在PHP和MySQL上

我正在做一个数组,这是从MySQL中得出的计算,问题是“除零”警告

我正在对这个陈述进行循环

$v = (($v - $valuei)/($valuei) * 100); 

这里$ v正在变化(假设从100到150,例如100,101,102,103,...,150),$ valuei是$ v的初始值(即100)。因此,当计算首先开始时输出应为零,并且我想要零,那么为什么它会发出警告“按零分区”,并使所有“$ v”值都等于零。


警告表明,在其中一次运行中,$ valuei实际上是0。

你确定,$ valuei是否正确初始化? 要摆脱警告,您应该添加如下内容:

if($valuei != 0) {
    $v = (($v - $valuei)/($valuei) * '100');
}

这样,警告应该消失。


如果$valuei初始设置为$v那么在第一次迭代(x - x) = 0 ,因此您除以零(或者说,试图用某物分割0,这是一个错误)。

没有看到剩下的循环,我只能推测,但我怀疑你可能要走的方向是在索引'1'而不是'0'开始循环。

另外,为什么乘以'100'而不是100?

链接地址: http://www.djcxy.com/p/11895.html

上一篇: Warning: Division By Zero Working on PHP and MySQL

下一篇: warning: division by zero