我有项目列表,选择它们并按下提交按钮 在网址栏中有这样的查询:
adrese-id=7&food-id=1&food-id=2&food-id=3&food-id=4
尝试获取阵列中的所有食物ID,但到目前为止没有运气,尝试过:
$ids = $_GET['food-id'];
但是它只有最后一个值,即4 ...
如何在数组中获取这些值?
答案 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表单值的线索。