【发布时间】:2019-06-26 12:10:01
【问题描述】:
我有 html 输入数组。我想收集输入值并返回自定义格式的 json 数组。我遍历表单数组并尝试收集所有内容。
<input type="text" name="item_name[{{ i }}]">
<input type="number" name="item_price[{{ i }}]">
$item_price = $_POST['item_price'];
foreach(array_filter($_POST['item_name']) as $key => $value){
$data = array('item_name'=>$value, 'item_price'=>$item_price[$key]);
$data = array_merge($data, $data);
}
echo json_encode($data);
我希望结果完全像这种格式,因此具有所有输入。但是我的结果只给出了一个选项,如果表单要求 3 个项目
{
"1": {
"item_name": "GOAT",
"item_price": "200"
},
"2": {
"item_name": "BEEF",
"item_price": "150"
},
"3": {
"item_name": "RAT",
"item_price": "0"
}
}
【问题讨论】:
-
你正在不断地覆盖
$data -
确实如此。您需要一个全局变量来存储最终结果。
-
作为简写,您可以使用
$result[] = array('item_name'=>$value, 'item_price'=>$item_price[$key]);