On Tue, Aug 10, 2010 at 12:23 PM, Richard Quadling <rquadling@xxxxxxxxx> wrote: > On 10 August 2010 16:49, Jim Lucas <lists@xxxxxxxxx> wrote: >> Richard Quadling wrote: >>> >>> Hi. >>> >>> Quick set of eyes needed to see what I've done wrong... >>> >>> The following is a reduced example ... >>> >>> <?php >>> $Set = array(); >>> $Entry = 'Set[1]'; >>> $Value = 'Assigned'; >>> $$Entry = $Value; >>> print_r($Set); >>> ?> >>> >>> The output is an empty array. >>> >>> Examining $GLOBALS, I end up with an entries ... >>> >>> [Set] => Array >>> ( >>> ) >>> >>> [Entry] => Set[1] >>> [Value] => Assigned >>> [Set[1]] => Assigned >>> >>> >>> According to http://docs.php.net/manual/en/language.variables.basics.php, >>> a variable named Set[1] is not a valid variable name. The [ and ] are >>> not part of the set of valid characters. >>> >>> In testing all the working V4 and V5 releases I have, the output is >>> always an empty array, so it looks like it is me, but the invalid >>> variable name is an issue I think. >>> >>> Regards, >>> >>> Richard. >>> >>> NOTE: The above is a simple test. I'm trying to map in nested data to >>> over 10 levels. >> >> For something like this, a string that looks like a nested array reference, >> you might need to involve eval for it to "derive" that nested array. >> > > I'm happy with that. > > It seems variable variables can produce variables that do not follow > the same naming limitations as normal variables. > It would seem so. If eval() works, can you rearrange the strings a little to make use of parse_str() and avoid the use of eval()? Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php