PHP数组到json格式

时间:2019-03-04 22:41:00

标签: php arrays json

我正在尝试按照需要的方式格式化我的PHP数组。

结果如下:

 [
  {
    "Ryan": {
      "id": "5c7c9ef16f667",
      "quantity": "1"
    }
  },
  {
    "Paul": {
      "id": "5c7d888e14233",
      "quantity": "2"
    }
  }
]

这是我想要的结果:

{
  "Ryan": {
    "id": "5c7c9ef16f667",
    "quantity": "as"
  },
  "Paul": {
    "id": "5c7d888e14233",
    "quantity": "asd"
  }
}

这是我的代码:

$tools = array();
foreach ($tool_names as $key=>$value) {
    $item = Item::find_by_name($value);
    $tools[] = array($item['name'] => ["id" => $item['id'], "quantity" => $tool_quantities[$key]]);
}

json_encode($tools);

关于如何更改代码以使数组像这样工作的任何想法吗?

1 个答案:

答案 0 :(得分:2)

您需要更改主数组,而不是将新数组推入主数组:

$tools = array();
foreach ($tool_names as $key=>$value) {
    $item = Item::find_by_name($value);
    $tools[$item['name']] = array("id" => $item['id'], "quantity" => $tool_quantities[$key]);
}

json_encode($tools);