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


Does PHP guarantee the order of array values in $_GET?

HTML 保证表单字段在提交时编码时的顺序,这意味着以下表单:

<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'); //?
来自 PHP

手册关于 PHP 和 HTML 的常见问题解答:

要使<form>结果作为数组发送到PHP脚本,您可以像这样命名<input><select><textarea>元素:

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

以粗体显示答案:

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