Re: Variable variables into an array.
| From: | Richard Quadling | Date: | Tue, 10 Aug 2010 16:23:23 +0000 |
| Subject: | Re: Variable variables into an array. | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-307393@lists.php.net to get a copy of this message | ||
On 10 August 2010 16:49, Jim Lucas <lists@cmsws.com> 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.
--
Richard Quadling.