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