ID: 39340 Comment by: ois at oisnot dot com Reported By: thehub at lofty dot net dot au Status: Open Bug Type: Feature/Change Request Operating System: Windows XP PHP Version: 4.4.4 New Comment:
<pre><?php $currServ = 'test1'; $currDB = 'test2'; $currGroup = 'test3'; $currUser = 'test4'; $server = array(); $server[$currServ][$currDB][$currGroup][$currUser]['access']=4; $server[$currServ][$currDB][$currGroup][$currUser]['email']=''; $server[$currServ][$currDB][$currGroup][$currUser]['lastlogin']=0; $server[$currServ][$currDB][$currGroup][$currUser]['projects']=array(); var_export($server); unset($server); $server = array(); $server[$currServ][$currDB][$currGroup][$currUser] =array(); $server_curr =& $server[$currServ][$currDB][$currGroup][$currUser]; $server_curr['access']=4; $server_curr['email'] =''; $server_curr['lastlogin']=0; $server_curr['projects']=array(); var_export($server); unset($server); unset($server_curr); $server = array(); $server_curr = array(); $server_curr['access']=4; $server_curr['email'] =''; $server_curr['lastlogin']=0; $server_curr['projects']=array(); $server[$currServ][$currDB][$currGroup][$currUser] = $server_curr; var_export($server); ?></pre> Anyway, use objects. Previous Comments: ------------------------------------------------------------------------ [2007-01-08 19:12:24] thehub at lofty dot net dot au or perhaps for a long piece of code that would be used a lot. this ugly rectangle of code for example: $server[$currServ][$currDB][$currGroup][$currUser]['access']=4; $server[$currServ][$currDB][$currGroup][$currUser]['email']=''; $server[$currServ][$currDB][$currGroup][$currUser]['lastlogin']=0; $server[$currServ][$currDB][$currGroup][$currUser]['projects']=array(); becomes with($server[$currServ][$currDB][$currGroup][$currUser]){ $['access']=4; $['email']=''; $['lastlogin']=0; $['projects']=array() } kind of like a function that's created on the fly and then destroyed when it's finished ------------------------------------------------------------------------ [2006-11-02 02:34:22] thehub at lofty dot net dot au Description: ------------ Visual Basic has a neat little code trick that I'd like to see in PHP... With object1 .property1="value" .function1() End With And it can be nested. This is useful if you don't want to create a variable to hold the return of, e.g. a function call that returns an array, when you only need it for two or three lines. Reproduce code: --------------- with($nested_array['a_very_long_key']){ $[0]='apples'; with(function1($[1]->data)) echo template($['title'],$['content']); } // or with $object1: with $->property1: function1($['key_of_property1']); endwith endwith ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39340&edit=1