Németh Zoltán wrote: > 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) testing would given you certainty. I tested it and, although I would have thought it was correct, it did not given the desired result, the following 2 do give what your looking for: echo "{{$s}}", " ", '{'.$s.')'; > > greets > Zoltán Németh > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php