On cs, 2007-01-18 at 14:19 +0100, Jochem Maas wrote: > Bogdan Ribic wrote: > > Hi all, > > > > Try this: > > > > $a = ''; > > echo "\{$a}"; > > > > from php 4, it outputs "{}", from php 5.2 (one that comes with Zend 5.5) > > no-one here supports Zend. > > > it outputs "\{}", thus breaking existing scripts. > > AFAICT the escaping in that string is wrong - the fact that it did work > the way you want it to is probably sheer luck. > > lastly I ran your tests and determined at the least that the 'break' > occur *prior* to 5.2. at a guess it probably changed in 5.0, here are my results: > > # php -r 'echo "php",phpversion(),":\n"; $a = ""; var_dump("\{$s}");' ; > php5 -r 'echo "php",phpversion(),":\n"; $a = ""; var_dump("\{$s}");' > > OUTPUT: > > php4.3.10-18: > string(2) "{}" > php5.1.2: > string(3) "\{}" > > > > > be pragmatic - fix your script :-) is this the correct form: $a = ''; echo "\{$a\}"; if I want to get "{}" a result? (I think it is) greets Zoltán Németh > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php