2010-01-04 5 views
0

Je le code suivant:erreur php étrange

var_dump($cumulitive); 
    $y_axis_max = max($cumulitive)*1.3; 
    var_dump($y_axis_max); 

Il produit les éléments suivants:

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) 

Comme vous pouvez le voir, y_axis_max $ est de donner NAN. Donc j'essaye ceci: je redémarre WampServer. Ça fonctionne maintenant. Je rafraîchis le navigateur. Fonctionne à nouveau. actualisez le navigateur à nouveau. Maintenant, cela ne fonctionne pas, et je ne peux pas le faire fonctionner à nouveau sans redémarrer Apache. A partir de la 3ème demande, il cesse de fonctionner.

Il a été utilisé pour fonctionner correctement. Puis j'ai changé certaines choses. Plus précisément, j'ai modifié mon application pour utiliser la classe DateTime dans quelques endroits. Mais cela ne devrait pas faire apparaître cette étrange erreur. Des idées sur la façon de déboguer cela?

Si j'appelle le $ y_axis_max = .. ligne de code deux fois de suite, puis-je obtenir cela pour y_axis_max $:

float(@.7) 

Que diable est-ce?

EDIT: Il semble que l'appel de DateTime :: diff plus tôt provoque l'erreur. Des idées de contournement?

Répondre

1

Semble qu'appeler DateTime :: diff plus tôt provoque l'erreur. Je viens d'utiliser une solution de contournement pour ne pas l'utiliser.

1

max() fonctionnera sur les tableaux. On dirait que vous avez une forme de corruption dans votre code. Si l'un des éléments du tableau est un NAN, vous obtiendrez ce résultat. Essayez de tester un script plus petit sur votre serveur afin d'isoler le problème.

+0

Semble qu'appeler plus tôt DateTime :: diff provoque l'erreur. TRÈS ÉTRANGE – Jonah