奇怪的PHP错误

时间:2010-01-04 08:01:14

标签: php wampserver

我有以下代码:

    var_dump($cumulitive);
    $y_axis_max = max($cumulitive)*1.3;
    var_dump($y_axis_max);

输出以下内容:

array(16) {
  [0]=>
  int(0)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
  [4]=>
  int(0)
  [5]=>
  int(0)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(0)
  [9]=>
  int(0)
  [10]=>
  int(0)
  [11]=>
  int(4)
  [12]=>
  int(4)
  [13]=>
  int(4)
  [14]=>
  int(9)
  [15]=>
  int(9)
}
float(NAN)

如您所见,$ y_axis_max正在给出NAN。所以我试试这个:我重新启动WampServer。它现在有效。我刷新浏览器。再次工作。再次刷新浏览器。现在它不起作用,如果不重新启动Apache,我无法再次使用它。从它的第3个请求停止工作。

它用于工作得很好。然后我改变了一些东西。具体来说,我修改了我的应用程序以在几个地方使用DateTime类。但这不应该发生这种奇怪的错误。关于如何调试这个的任何想法?

如果我连续两次调用$ y_axis_max = ..代码行,那么我得到$ y_axis_max:

float(@.7)

那到底是什么?

编辑:似乎早先调用DateTime :: diff会导致错误。任何解决方法的想法?

2 个答案:

答案 0 :(得分:1)

max()将适用于数组。看起来您的代码中存在某种形式的损坏。如果数组中的一个元素是NAN,您将得到此结果。尝试在服务器上测试较小的脚本以隔离问题。

答案 1 :(得分:1)

似乎早先调用DateTime :: diff会导致错误。我只是使用了一种解决方法,所以不要使用它。