0

我有以下代码:

    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,我无法让它再次工作。从第三个请求开始,它停止工作。

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

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

float(@.7)

那是什么呀?

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

4

2 回答 2

1

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

于 2010-01-04T09:10:28.077 回答
1

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

于 2010-01-04T08:15:04.803 回答