Hallo,
ist das ein fehler von php, oder von mir?
Ich sehr zwar keinen Fehler, aber egal.
Also das ist weder ein Fehler von dir, noch von PHP.
Das liegt mit der Speicherung von Float-Zahlen zusammen.
Bsp:
<?php
for($i=0.01;$i!=1;$i+=0.01)
?>
Theoretisch würde diese Schleife ja beendet werden, irgendwann ist 1 erreicht => Schleife bricht ab.
Aber praktisch erhält man so oft eine Endlosschleife.
Denn der PC kann, wie gesagt, dezimal/float Zahlen nicht richtig speichern.
So wäre folgendes möglich:
0.98
0.99999999999
1.00000000001
Dabei sind die letzten beiden Zahlen unmöglich.
Deswegen musst du bei genauen Zahlen, mit Strings rechnen.
So wird die Zahl nicht als float, sondern als String gespeichert, und dann damit gerechnet.
In PHP gibt es für solche Berechnungen die Bibliothek: BC
<?php
//Ungetestet
for($i="0.01";$i!="1";$i=bcadd($i,"0.01"))
?>
Die Funktionen erkennst du an dem bc vor den Namen ;)
MFG
Andavos