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を再起動しないと再び機能させることはできません。3番目のリクエストから動作を停止します。

それはうまく機能するために使用されました。それから私はいくつかのことを変えました。具体的には、いくつかの場所でDateTimeクラスを使用するようにアプリを変更しました。しかし、それでこの奇妙なエラーが発生することはありません。これをデバッグする方法について何かアイデアはありますか?

$ y_axis_max = ..コード行を2回続けて呼び出すと、$y_axis_maxに対して次のようになります。

float(@.7)

一体何ですか?

編集:以前にDateTime::diffを呼び出すとエラーが発生するようです。回避策はありますか?

4

2 に答える 2

1

max()は配列で機能します。コードに何らかの形の破損があるようです。配列内の要素の1つがNANである場合、この結果が得られます。問題を特定するために、サーバーで小さなスクリプトをテストしてみてください。

于 2010-01-04T08:15:04.803 に答える
1

以前にDateTime::diffを呼び出すと、エラーが発生したようです。回避策を使用したので、使用しないでください。

于 2010-01-04T09:10:28.077 に答える