簡體   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