假设您的HTTP请求格式如下:
GET /path/to/file.php?var[]=1&var[]=2
PHP会将其填充到名为$_GET
:array('var' => array(1, 2))
我的问题是......这是一个PHP的事情还是这个行为受RFC控制? Web可访问的node.js或Python脚本如何处理这个问题?
答案 0 :(得分:2)
默认情况下,PHP会覆盖以前的值,最终会在查询字符串中找到LAST键:值对。但在PHP中,您可以使用[]
数组作为fieldname hack:
example.com?foo=bar&foo=baz&foo=qux
example.com?foo[]=bar&foo[]=baz&foo[]=qux
第1行产生$ _GET,如下所示:
$_GET = array(
'foo' => 'qux'
);
第2行产生
$_GET['array'] = array
'foo' => array('bar', 'baz', 'qux');
}
请注意,此行为是特定于PHP的。其他语言做自己的事情。据我所知,Perl默认会将所有值保存为数组。
答案 1 :(得分:1)
这是PHP的一个特定功能,没有相关的RFC或其他规范。我找不到任何具体的声明,但阅读此常见问题Q / A似乎意味着相同: