11 Kommentare zu diesem Eintrag
Abonniere dieses Thema via Kommentar RSS oder setzte einen TrackBack URL
mygif_alt
Bata sagt, am 15. März 2008 um 19:32:09 Uhr.     

Laut dem Buch “Besser PHP programmieren” von Carsten Möhrke liegt es an der Umsetzung in den Assemblercode.

i = i + 1 wird so umgesetzt:
MOV AX, [AEOF] : Kopieren des Speicherinhalts in den Akku
ADD AX, 1 : Addieren der Zahl 1
MOV [AEOF], AX : Zurückschreiben des Ergebnisses in den Speicher

während i++ so umgesetzt wird:
INC [AEOF] : Inkrementieren des Speicherinhalts um 1

Am schnellsten war die ++$i - Version bei ihm.
Allerdings nahm er dazu die while-Schleife ;-)
Er spricht auch die Multiplikation mit der SAL-Anweisung an (<<), die schneller sein soll als die MUL-Anweisung (*)

mygif
foo sagt, am 16. März 2008 um 13:20:15 Uhr.     

“Es gibt 2 Möglichkeiten um eine Variable in PHP um 1 zu erhören, …”

Schon mal falsch. Und zwar nicht nur orthographisch.

$i += 1;
$i = $i +1;

Ich habe dann gar nicht erst weitergelesen.

mygif_alt
Markus sagt, am 16. März 2008 um 13:47:09 Uhr.     

Sry, hast recht, aber ich meinte die beiden Varianten mit ++ ;)

mygif
ReMichael sagt, am 16. März 2008 um 22:29:48 Uhr.     

Ich hab bis jetzt $i++; genutzt, und werde es auch weiter nutzen :)

mygif_alt
Tobias sagt, am 1. Juni 2008 um 16:33:09 Uhr.     

Es liegt ja auch immer an dem zu lösenden Problem welche Variante man nutzen sollte ;)

mygif
Seinfeld sagt, am 11. Dezember 2008 um 14:30:28 Uhr.     

$i++ erhöht bei mir um 2 und ich habe keine Ahnung, was ich falsch mache!

Zum Hintergrund: Ich lese einen INTEGER aus einer MySQL-datenbank aus. danach möchte ich durch den Seitenbesuch die variable $i um 1

$i++

erhöhen. In die Datenbank schreibt er mir jedoch $i + 2

Kann mir jemand helfen?

mygif_alt
Markus sagt, am 11. Dezember 2008 um 16:17:49 Uhr.     

Dann wird die Variable wohl noch irgendwo +1 gesetzt. Kann ich dir jetzt natürlich schlecht sagen, weil ich den Code nicht kenne ;-)

mygif
asd sagt, am 30. März 2009 um 11:21:59 Uhr.     

es wäre gut wenn man den genauen test-code sehen würden… so ist der test nicht reproduzierbar… ich denke der unterschied ist wegen der ausgabe so gigantisch…

mygif_alt
jar3d sagt, am 18. April 2009 um 18:02:57 Uhr.     

Ich habe das ganze Problem mit +3 xD und das selbst wenn das ganze innerhalb einer Funktion ausgeführt wird und von sonst nirgends reingepfuscht werden kann…

mygif
beNNo sagt, am 31. Juli 2009 um 02:34:18 Uhr.     

Hi Markus, aber
1. solltest du diesen Artikel neu schreiben bzw. umformulieren!
(siehe Kommentar von “foo” usw.)
2. es fehlt definitiv dein TEST - CODE, dein TEST - SYSTEM (Windows/Linux) und WICHTIG: deine PHP - Version (da gibt es nämlich höllische unterschiede).
ach so und 3. sind deine Werte nicht in Ordnung:
einfacher TEST - CODE, Windows System mit PHP 5.2.8:

$starttime = microtime(true); // ab PHP 5
$i = 0;
while($i> und in beidem durchgefallen…lol
# Mensch, peinlich für einen selbsternannten Entwickler Blog

mygif_alt
Pete-Bremen sagt, am 17. Januar 2010 um 21:42:01 Uhr.     

wie kann ich Datenausgaben aus einer Forumlareingabe eines users auf die gerade getätigte Eingabe (also die letzte) beschränken ? So, das in der Ausgabe also nur diese eine erscheint und nicht alles, in dieser Liste eingetragenes !

Hinterlasse ein Kommentar

 Name (*Pflichtfeld)

 Email Addresse (*wird nicht veröffentlicht)

 Website (*optional)

Informiere mich wenn hier jemand einen Nachricht hinterlässt.

Bitte beachte: Möglicherweise wird dein Kommentar noch überprüft, du musst ihn also nicht nochmal versenden falls es hier nicht angezeigt wird.