Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

[php]: $a=1; print(2*$a=10); Was erwarted ihr?

  Alt 18. Jun 2007, 11:00
Hi @ll,

es geht mir um folgenden Code:
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 der Operatoren zu tun, die auch in der Tabelle in der php-Doku steht?

Falls ihr euch jetzt fragt warum ich so einen unübersichtlichen Ausdruck überhaupt schreiben will:
Ich schreibe einen kleinen Scriptparser, der sich möglichst genau an die php-Syntax hält. Und ich überlege gerade, wie man solche Zuweisungen in einem Parser richtig umsetzt . und dafür will ich mal verstehen, wie php bei sowas vorgeht.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat