Re: http arrays
| From: | Jochem Maas | Date: | Fri, 27 Apr 2007 13:50:22 +0000 |
| Subject: | Re: http arrays | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-29074@lists.php.net to get a copy of this message | ||
Michael Wallner wrote:
> Jochem Maas wrote:
>
>> $args = array('foo' => array('bar' => array(1,2,3),
>> 'quz' => array(1,2,3)));
>> echo '/foo.php?'.http_build_query($args);
>>
>>
>> foo.php --- 8< ---
>>
>> var_dump($_GET['foo']);
>>
>>
>> the var_dump() output used to be a neat nested array, but since 5.1.3 [although I remember
>> it as 5.1.6] http_build_query() makes htmlentities of the square brackets so therefore
>> the var_dump() gives you a string.
>
> Works as expected here with v5.2
I'll take your word on it (although I can't be sure exactly what it is that you expected),
which means the change has been reverted, or the input parsing stuff has been changed to
recognize escaped square brackets as if they were not escaped - I know for sure
that http_build_query() did escape quare brackets in 5.1.6 and that url query strings
that included escaped square brackets were not parsed into [nested] arrays.
a bug closed bug shows that this was changed for 5.1.3:
http://bugs.php.net/bug.php?id=36656
>
> Regards,