Es gibt 2 Möglichkeiten um eine Variable in PHP um 1 zu erhören, und zwar mit $i++ und ++$i. Aber wo liegt der Unterschied? Gibt es Geschwindigkeitsunterschiede?
Auf genau diese Fragen werde ich jetzt eine Antwort liefern.
Wenn es nur darum geht, eine Variable um 1 zu erhöhen, tun beide Funktionen genau das gleiche. Doch es gibt einen kleinen aber feinen Unterschied, und der liegt in der Ausgabe. Man nehme folgende Codes:
$i = 0; echo $i++;
$i = 0; echo ++$i;
Was meint ihr, was die Ausgabe ist?
Bei der 1. Variante lautet die Ausgabe 0, bei der 2. Variante 1. Es wird also bei $i++ zuerst der Wert zurückgegeben, und dann um 1 erhöht. Bei ++$i ist es genau anders herum, es wird zuerst der Wert um 1 erhöht, und dann zurückgegeben.
Doch wenn es nur um die Erhöhung des Variablenwertes geht, welche Methode ist die beste/schnellste? Hier ein Benchmarkergebnis:
Benchmark $i++ oder ++$i
| Was? | Laufzeit in s | Verhältnis zum Schnellsten |
|---|---|---|
| $i++ | 0.00641298294067 | 100% |
| ++$i | 0.0360429286957 | 562% |
Ich finde es ziemlich verwunderlich, dass es so riesige Unterschiede bei den beiden Methoden gibt , kann es mir aber momentan noch nicht erklären. Ich halte euch auf dem laufenden, wenn ich was neues erfahre
Was ich mir aber gerade auch noch für eine Frage stelle, ist, ob das gleiche auch für andere Programmiersprachen gilt. In Java bin ich erst ein Anfänger, und weiß noch nicht, wie ich die Geschwindigkeit messe. Das gleiche gilt für C und C++, welche ich jedoch nicht lerne, sondern nur ein paar Grundkenntnisse habe. Also über Hinweise bin ich, im Namen meiner Leser, sehr dankbar ![]()
