phpbar.de logo

Mailinglisten-Archive

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

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

=?iso-8859-1?Q?J=F6rg_Krause?= joerg_(at)_krause.net
Tue, 12 Dec 2000 00:26:40 +0100


> 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.

$dummy = &$foo;

Jörg
----------------------------------------------------
E-Mail:  joerg_(at)_krause.net Info: www.joerg.krause.net
Kennen Sie schon die neue Auflage des Buches zu PHP4?
Hier gibt es die Infos: http://www.php.comzept.de
----------------------------------------------------



php::bar PHP Wiki   -   Listenarchive