数组中的PHP _GET值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中的PHP _GET值相关的知识,希望对你有一定的参考价值。

我有项目列表,在选择它们并按下提交按钮后,在网址栏中有一种查询:

adrese-id=7&food-id=1&food-id=2&food-id=3&food-id=4

试图获取阵列中的所有食物ID,但到目前为止没有运气,尝试做:

$ids = $_GET['food-id'];

但那只是最后一个值,即4 ...

如何在数组中获取这些值?

答案

您必须为您的字段命名,以表明它是一个“数组”。所以,而不是food-id,在最后添加括号使其成为food-id[]

例如:

<input type="checkbox" name="food-id[]" value="1"> Pizza
<input type="checkbox" name="food-id[]" value="2"> Cheese
<input type="checkbox" name="food-id[]" value="3"> Pepperonis

php中访问它将是相同的,$_GET['food-id'](但这次它将是一个数组)。

另一答案

在php中,$_GET数组有$key => $value对。在这种情况下,'food-id'是$key。因为你的所有值(1,2,3,4)具有相同的键:'food-id',所以数组如下所示:

$_GET = [
'food-id' => 1,
'food-id' => 2,
'food-id' => 3,
'food-id' => 4,
]

这将始终使用正在使用的最后一个$key => $value对进行解析:

$_GET = [
'food-id' => 4
]

解决方案始终使用阵列中的唯一键。

另一答案

您确实需要提供生成值的html片段。但是,如果你查看你的GET请求,food-id的值不会被提交为一个数组,这可能是你想要的。您的GET请求应该更像:

adrese-id=7&food-id[]=1&food-id[]=2&food-id[]=3&food-id[]=4

这应该可以为您提供有关如何命名HTML表单值的线索。

以上是关于数组中的PHP _GET值的主要内容,如果未能解决你的问题,请参考以下文章

php中的$_REQUEST()函数怎么用

PHP - 从当前数组中读取值

php基础---预定义数组

如何从 php 中的 JSON 对象数组中删除值?

PHP里的$_GET数组介绍_php技巧 - PHP

php服务器端如何判断数据是不是传过来