phpbar.de logo

Mailinglisten-Archive

[php] Warum nicht: $bar = (3 == $foo) ? &$foo : &$foo ?

[php] Warum nicht: $bar = (3 == $foo) ? &$foo : &$foo ?

Ulf Wendel ulf.wendel_(at)_phpdoc.de
Tue, 12 Dec 2000 01:00:28 +0100


Jörg Krause wrote:
> 
> > From: php-admin_(at)_php-center.de [mailto:php-admin_(at)_php-center.de]On Behalf
> > Of Ulf Wendel
> > Sent: Monday, December 11, 2000 11:01 PM
> > warum muß ich statt $bar = (3 == $foo) ? &$foo : &$foo die Langform mit
> > if-else benutzen, um einem Parse Error auf meinem PHP 4.0.5 dev
> > auszuweichen?
> >
> Das hat nichts mit dem o.g. Statement zu tun, auch ein alleinstehendes
> 
> &$var;
> 
> erzeugt den Parserfehler, während
> 
> $var;
> 
> ok ist. Da prüft der Parser die Gültigkeit der Syntax und Zugriffe
> auf Referenzen offensichtlich anders als normale Variablen,
> was sicher nachvollziehbar ist. Ich hatte den Effekt auch mit
> if...else (4.0.1pl2).
> Um das zu umgehen, muss man den Ausdruck gültig machen, z.B.

Andreas Braukmann wies mich gerade in d.c.l.p auf die offizielle
Schreibweise hin: "assignment by reference". PHP hält was es verspricht,
auch wenn ich mir etwas mehr Parserintelligenz wünschen würde.

Ulf


php::bar PHP Wiki   -   Listenarchive