将HTML表单数组转换为格式化的JSON数组

时间:2019-06-26 12:10:01

标签: php arrays

我有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"
  }
}

1 个答案:

答案 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);