From: Richard Quadling on
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.
--
Richard Quadling.
From: Jim Lucas on
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.
From: Richard Quadling on
On 10 August 2010 16:49, Jim Lucas <lists(a)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.
From: Andrew Ballard on
On Tue, Aug 10, 2010 at 12:23 PM, Richard Quadling <rquadling(a)gmail.com> wrote:
> On 10 August 2010 16:49, Jim Lucas <lists(a)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.
>

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
From: Richard Quadling on
On 10 August 2010 18:08, Andrew Ballard <aballard(a)gmail.com> wrote:
> On Tue, Aug 10, 2010 at 12:23 PM, Richard Quadling <rquadling(a)gmail.com> wrote:
>> On 10 August 2010 16:49, Jim Lucas <lists(a)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.
>>
>
> 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 -r "parse_str('a[1][2][3]=richard quadling'); var_dump($a);"

outputs ...

array(1) {
[1]=>
array(1) {
[2]=>
array(1) {
[3]=>
string(16) "richard quadling"
}
}
}

Perfect.

Thanks.

--
Richard Quadling.
 |  Next  |  Last
Pages: 1 2
Prev: Test - Ignore
Next: /status page of php-fpm 5.3.3