2010-01-04 1 views
0

У меня есть следующий код:странно ошибка PHP

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) 

Что это такое?

EDIT: Кажется, что вызов DateTime :: diff ранее вызывает ошибку. Любые обходные идеи?

ответ

1

Похоже, что вызов DateTime :: diff ранее вызывает ошибку. Я просто использовал обход, чтобы не использовать его.

1

max() будет работать на массивах. Похоже, в вашем коде есть какая-то форма коррупции. Если одним из элементов массива является NAN, вы получите этот результат. Попробуйте протестировать меньший скрипт на своем сервере, чтобы изолировать проблему.

+0

Похоже, что вызов DateTime :: diff ранее вызывает ошибку. ОЧЕНЬ СТРАННО – Jonah

 Смежные вопросы

  • Нет связанных вопросов^_^