Forum: Programmieren allgemein
by yankee,
18. Jun 2007
Das hätte ich erwarted...
Ja... 20...
10
Beispiel? Wo?
Naja... Ist schon klar, dass die 10 nur $a zugweisen wird un dnihct 2*$a
nach der ganzen Aktion steht in $a ja auch 10 drin.
Es geht mir ja nur um die Rheinfolge, wie php vorgeht. Also rechnet der erst 2*$a und dann erst $a=10 oder umgekehrt? Also offensichtlich umgekehrt. Aber nach welcher Logik umgekehrt?
Forum: Programmieren allgemein
by yankee,
18. Jun 2007
Es geht mir nicht um den Wert, der in $a drin steht, sondern um den wert, der geprinted wird...
@OregonGhost:
meine Argumentation ist folgende:
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...
Forum: Programmieren allgemein
by yankee,
18. Jun 2007
Hi @ll,
es geht mir um folgenden Code:
$a=1;
print(2*$a=10);
Unter der Hintergrund der Operatorenpriotität:
http://www.php.net/manual/de/language.operators.php
in der steht, dass der Zuweisungsoperator eine niedrigere Priorität hat als der Multiplikationsoperator würde ich erwarten, dass das Ergbnis "2" ist. Das Ergebnis ist aber "20".
Wieso? hat es vielleicht was mit der Assoziativität...