繁体   English   中英

奇怪的PHP错误

[英]strange php error

我有以下代码:

    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会导致错误。 有任何解决方法吗?

max()将在数组上工作。 看起来您的代码中存在某种形式的损坏。 如果数组中的元素之一是NAN,则将得到此结果。 尝试在服务器上测试较小的脚本,以便找出问题所在。

似乎更早调用DateTime :: diff会导致错误。 我只是使用了一种变通方法,所以不再使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM