[英]Warning: Division by zero in loop
I have this code: 我有以下代码:
for ($y = 0; $y < $numRows; $y++) {
for ($i = 0; $i < $numRows; $i++) {
${'contaH' . $i}[]=${'arrHoriz' . $i}[$y]/$arr[$y];
}
}
echo $contaH0[0]."\n";
that output is: 该输出是:
Warning: Division by zero in C:\Users\xx\VertrigoServ\www\AHP\new\demo.php on line 66
Warning: Division by zero in C:\Users\xx\VertrigoServ\www\AHP\new\demo.php on line 66
Warning: Division by zero in C:\Users\xx\VertrigoServ\www\AHP\new\demo.php on line 66
Warning: Division by zero in C:\Users\xx\VertrigoServ\www\AHP\new\demo.php on line 66
0.300618921309
but if i change this line: 但是如果我改变这一行:
${'contaH' . $i}[]=${'arrHoriz' . $i}[$y]/$arr[$y];
to 至
${'contaH' . $i}[]=${'arrHoriz' . $i}[$y]/$arr[0];
the output is: 输出为:
0.300618921309
What is the reason of the warning in first code ? 第一个代码中出现警告的原因是什么?
$arr
没有像您想象的那样有太多元素,或者有很多0或空元素。
The reason is that in your loop, $arr[$y]
isn't always equal to 0. Somewhere in your array it's zero (or not defined). 原因是在循环中,
$arr[$y]
并不总是等于0。在数组中的某个位置为零(或未定义)。 You should do a check to see if your denominator is zero before doing any division and properly handle the case where it's zero. 在进行任何除法之前,应先检查分母是否为零,并正确处理分母为零的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.