PHP获取或发布相同名称的多个名称

PHP获取或发布相同名称的多个名称,php,httprequest,Php,Httprequest,如果通过GET发布或请求多个字段,并且两个字段具有相同的名称,PHP是否总是可靠地返回后一个字段 例如拥有test.php?field=foo&field=baz和 echo $_REQUEST['field']; 我可以期望输出为'baz'吗?这将生成一个数组,请求['field'],您必须进行迭代 <?php foreach ($REQUEST['field'] as &$value) { echo $value; } 到目前为止,php中使用的是最后一个值 在te

如果通过GET发布或请求多个字段,并且两个字段具有相同的名称,PHP是否总是可靠地返回后一个字段

例如拥有
test.php?field=foo&field=baz

echo $_REQUEST['field'];

我可以期望输出为'baz'吗?

这将生成一个数组,请求['field'],您必须进行迭代

<?php
foreach ($REQUEST['field'] as &$value) {
    echo $value;
}

到目前为止,php中使用的是最后一个值


在test.php?field=foo&field=baz中,它总是打印baz。如果您回显$\u GET['field']

PHP默认情况下将使用最后遇到的值。但这不是一成不变的,在未来的版本中可能会发生变化。不太可能,但也有可能。看看这个,你的问题的答案是:这取决于PHP配置。PHP手册中已经详细介绍了
$\u REQUEST
的工作原理:-你也可以测试一下,你试过了吗?测试并不能回答我在每种情况下的预期,它只回答一种情况下可能发生的情况…ini设置变量的顺序对此有一定影响,谢谢你的提示。但即使在
POST
GET
中也没有关于名称顺序的文档。。。所以你可能不应该依赖它?在你回答之前,你可能想测试一下。当然,只有当它是test.php?field[]=foo&field[]=baz??是的,我也经历过这种情况。。但是没有关于它的文档,所以依赖它是有风险的。你确定你不应该依赖它。最好的做法是为您传递的get或post中的每个值指定唯一和特定的名称。