警告:在485 496处除以零

时间:2016-01-13 15:33:16

标签: php

我收到此错误:

  

警告:在C:\ Program中除以零   Files \ EasyPHP-DevServer-14.1VC11 \ data \ localweb \ my portable   485行的文件\ B2 \ seat.php

     

警告:在C:\ Program中除以零   Files \ EasyPHP-DevServer-14.1VC11 \ data \ localweb \ my portable   第496行的文件\ B2 \ seat.php

像这样的PHP代码:

for ($i = 0; $i < $num_rows; $i++) {
  $row = mysql_fetch_array($result);
  if ($i % $columns == 0) {                 // line 485

  }
  if ($row['status']=='0') {    
    echo "<td><input type='checkbox' name='service[]' id='services' value='$row[rowid]' />&nbsp;&nbsp;".$row['rowid']."</td>";
  } else {  
    echo "<td>".$row['rowid'].".Sudah di pesan</td>";
  }

  if (($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) { //line 496
    echo "\n</TR>";
  }
}

请帮我解决这个问题?

2 个答案:

答案 0 :(得分:0)

根据@Brian-Ray所说的,你的列是0.模数运算符(%)执行除法运算(确定&#34;余数&#34;值)。如果遇到除以0,则会发生此错误。

常见的解决方法是检查0,并将IF语句中的逻辑短路。这看起来像是:

 if( ($columns != 0) and ($i % $columns == 0) )

由于使用AND(&amp;&amp;)逻辑运算符,当if语句遇到第一组括号(列不等于零)并失败时,它不会再尝试执行if语句(因为使用AND运算符,结果不可能成立。

要修复第496行的错误,您需要执行相同操作。您可以在此处找到有关if语句短路的更多信息:

https://en.wikipedia.org/wiki/Short-circuit_evaluation

答案 1 :(得分:0)

总结问题:

  • 您的错误显示“按零划分......在第485行”。
  • 第485行是一个部门$i % columns

这意味着columns此时为零,您将除以它。

要解决此问题,您需要决定:

  • 是否允许程序到达485行,columns设置为零?
    • 否:找出为什么会遇到这种情况并阻止这种情况发生。
    • 是的:当columns设置为零时,程序应该做什么?
      • 让程序执行此操作而不是当前正在执行的操作。