PHP是否保证$ _GET中数组值的顺序?

时间:2013-09-07 03:07:36

标签: php html arrays query-string

表单字段的

HTML guarantees the order在提交时进行编码,这意味着以下形式:

<form method="GET">
    <input name="Foo[]" value="one">
    <input name="Foo[]" value="two">
    <input name="Foo[]" value="three">
</form>

将始终编码到此查询字符串中:

?Foo[]=one&Foo[]=two&Foo[]=three

但这是我的问题。当PHP将这些值拉入$_GET['Foo'] 时,PHP是否保证数组的顺序?意思是,鉴于查询字符串,Foo的值总是等于:

array('one', 'two', 'three'); //?

1 个答案:

答案 0 :(得分:1)

从PHP手册的FAQ on PHP and HTML

  

要将您的<form>结果作为数组发送到PHP脚本,请将<input><select><textarea>元素命名为:

    <input name="MyArray[]" />
    <input name="MyArray[]" />
    <input name="MyArray[]" />
    <input name="MyArray[]" />

以粗体回答:

  

在HTML中指定数组键是可选的。 如果您未指定键,则数组将按照元素在表单中显示的顺序填充。我们的第一个示例将包含键0,1,2和3.