Henryk Plötz: Benötigt er ein IQ-Upgrade?

Beitrag lesen

Moin!

Mooooment. Du behauptest also:

a=1;
a++;
print(a); //ergibt 1????

und

a=1;
a=a+1;
print(a); //ergibt 2

Nein, tut er nicht. Bitte lies nochmal:

(a++) = 1
(a = a + 1) = 2

Also

$a=1;
print($a++); // ergibt 1

$a=1;
print($a = $a+1); // ergibt 2

Das Geheimnis liegt im Unterschied zwischen a++ (Postinkrement) und ++a (Preinkrement). Bei ersterem wird der Wert von a zuerst zurückgegeben und a dann um eins erhöht (du siehst also den Wert von a vor der Inkrementierung) und bei letzterem wird a um eins erhöht und dieser neue Wert dann zurückgegeben.

--
Henryk Plötz
Grüße von der Ostsee