Vorsicht! Microtime liefert negative Ergebnisse!
<?php $start = microtime(); $i = 1000; while ($i--) { //do stuff } $end = microtime(); echo 'Took ' . $end - $start . ' seconds';
Okay, durchatmen. Wo liegt der Fehler? Kenner bemerken vielleicht, dass das Wörtchen Took abhanden gekommen ist. Es geht einfach beim konkatenieren was schief:
<?php echo "Calculating " . 6 + 5 . " is fun!";
Nach Operator-Wertigkeit müssen wir natürlich klammern:
<?php echo "Calculating " . (6 + 5) . " is fun!";
Selbiges Problem tritt auch im Beispiel oben auf. Der Output von microtime() ist Millisekunden (Scriptlaufzeit) Sekunden (time()), also etwa 0.77571900 1350824124. Da bei unserer Rechnung einfach ein String -> Float – Cast vorgenommen wird und zudem noch die Operatoren-Wertigkeit missachtet wurde, kam es zu diesem merkwürdigen Ergebnis.