Attention: Division par zéro sur PHP et MySQL

je fais un calcul avec un tableau qui est tiré de mysql et le problème est "division par zéro "avertissement

je suis en cours d'exécution d'une boucle sur cette déclaration

$v = (($v - $valuei)/($valuei) * 100); 

ici $V is Change (disons de 100 à 150 E. g 100, 101, 102, 103,..., 150) et $valuei est la valeur initiale de $v (I. e 100) donc, quand le calcul va commencer première sortie devrait être zéro et je veux que zéro alors pourquoi il donne un avertissement " Division par zéro " et rend aussi toutes les valeurs de" $v " égales à zéro.

1
demandé sur Leo 2012-07-21 17:30:43

2 réponses

l'avertissement suggère, que $valuei est, en fait, 0 au cours de l'un des passages.

Êtes-vous sûr que $valuei est initialisé correctement? Pour se débarrasser de l'avertissement, vous devez ajouter:

if($valuei != 0) {
    $v = (($v - $valuei)/($valuei) * '100');
}

de cette façon, l'avertissement devrait disparaître.

3
répondu ATaylor 2012-07-21 13:38:52

si $valuei est initialement défini à $v puis sur la première itération (x - x) = 0 et donc, vous divisez par zéro (ou plutôt, vous essayez de diviser 0 par quelque chose , ce qui est une erreur).

sans voir le reste de la boucle, Je ne peux que spéculer, mais je soupçonne que la direction vers laquelle vous vous dirigez probablement est de démarrer la boucle à l'index '1' au lieu de '0'.

Aussi, pourquoi multiplier par " 100 " au lieu de 100?

1
répondu Rhys 2012-07-21 13:37:35