ID: 13363 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Closed Bug Type: Feature/Change Request Operating System: all PHP Version: 4.0.6 New Comment:
indeed, use eval() when this level of indirection is necessary. Previous Comments: ------------------------------------------------------------------------ [2001-09-18 08:24:53] [EMAIL PROTECTED] $$ is just a shortcut for a lookup in the variable hashtable of the current namespace ($GLOABLS if outside a function) so you end up with the equivalent of $GLOBALS["GLOBALS[first][second]"] which is obviously not supposed to work as a multidimensional array access IMHO $$ should *not* become to clever aka. complicated moved to feature requests for now although the amount of exclamation marks used almost justified bogusification ------------------------------------------------------------------------ [2001-09-18 07:50:44] [EMAIL PROTECTED] $dynvar = "GLOBALS[first][second]"; echo $$dynvar; result : nothing , no error and no output! for arrays stored in variables only to ways are working: $dynvar = "GLOBALS"; echo ${$dynvar[first][second]}; or more dynamic but more slower! $dynvar = "<"."?PHP echo \$GLOBALS[first][second]; ?".">"; eval $dynvar; you can use a variable to store instead of echo! I think this breaks the rules of assigning variable variables . It must be possible to store the complete call of the array in a variable. The Way implemented jet is not praktical!!!!! Real World Tested! There are so much postings in many Forums and Mailinglist with no suggestion . I can't understand this! So i must think this is a BUG! or was forgotten to realize! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=13363&edit=1