Re: echo returnArray()['a']; // workaround

From: Date: Fri, 29 Feb 2008 04:42:27 +0000
Subject: Re: echo returnArray()['a']; // workaround
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.general 
Request: Send a blank email to php-general+get-270703@lists.php.net to get a copy of this message
On Thu, Feb 28, 2008 at 8:38 PM, Nathan Rixham <nrixham@gmail.com> wrote: > > Robert Cummings wrote: > > On Thu, 2008-02-28 at 23:27 -0500, Robert Cummings wrote: > >> On Fri, 2008-02-29 at 04:04 +0000, Nathan Rixham wrote: > >>> Robert Cummings wrote: > >>>> On Fri, 2008-02-29 at 00:18 +0000, Nathan Rixham wrote: > >>>>> don't say I didn't warn ya fellow nathan! > >>>>> > >>>>> #!/usr/bin/php > >>>>> <?php > >>>>> function sillyFunc() { > >>>>> return array('a' => 1, 'b' => 2, > >>>>> 'c' => 3, 'd' => 4, 'e'=>'some string'); > >>>>> } > >>>>> > >>>>> echo > >>>>> !${~${''}='sillyFunc'}=&${''}().${~${''}}['e'] > >>>>> . PHP_EOL; > >>>> > >>>> I was ready to use this system everywhere in my code until I saw that it > >>>> generates an E_STRICT... now I'll just have to keep with what I usually > >>>> do. > >>>> > >>>> Cheers, > >>>> Rob. > >>> scratch the former! > >>> > >>> FIXED>> > >>> > >>> echo > >>> !(${~${''}='sillyFunc'}=${''}()).${~${''}}['e'] . > >>> PHP_EOL; > >> Ok, I lied... I'm not really gonna use it. Interesting tidbit of > >> obfuscation though. > > > > BTW... the following is shorter: > > > > echo ${~${''}='sillyFunc'}['e'] . PHP_EOL; > > > > Cheers, > > Rob. > > but doesn't work over here.. php 5.2.4 && 5 > > > Doesn't work for me either. Here's mine: function ReturnArray() { return array('a' => 'f', 'b' => 'g', 'c' => 'h', 'd' => 'i', 'e' => 'j'); } echo ${(${0}=ReturnArray())&0}['a']; -- -Casey

« previous php.general (#270703) next »