我有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"
}
}
答案 0 :(得分:2)
您每次都覆盖$data
var。您应该将他的数据附加到[]
中:
foreach(array_filter($_POST['item_name']) as $key => $value){
$data[] = array('item_name'=>$value, 'item_price'=>$item_price[$key]);
}
echo json_encode($data);