Zitat:
Als erstes sollte php 2*$a rechnen. Dann stellt php fest, dass es noch eine Zuweisung dahinter gibt und weist $a auch noch 10 zu. --> Es wird 2 geprinted.
Stattdessen scheint es aber eher so zu sein, dass php die Zuweisung zuerst auswerted und dann erst 2*$a rechnet womit 20 geprinted wird. Und genau da ist mein Problem: Warum macht php das?
2 * $a ist keine Variable, sondern lediglich ein Ausdruck mit einem Wert. Wie willst du deinem Ausdruck einen Wert zuweisen? Zuweisungen gehen nur an Variablen. Das ist ungefähr das, was in der PHP-Doku (außerordentlich unbeholfen) mit dem Beispiel beschrieben wird.