数组中的PHP _GET值

时间:2017-12-18 16:19:26

标签: php get

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

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

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

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

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

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

3 个答案:

答案 0 :(得分: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'](但这次它将是一个数组)。

答案 1 :(得分:0)

在php中,$_GET数组有$key => $value对。 &#39; food-id&#39;在这种情况下是$key。 因为您的所有值(1,2,3,4)都具有相同的键:&#39; food-id&#39;数组看起来像这样:

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

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

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

解决方案始终使用数组中的唯一键。

答案 2 :(得分:-1)

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

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

它应该为您提供关于如何命名HTML表单值的线索。