Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组到json格式_Php_Arrays_Json - Fatal编程技术网

PHP数组到json格式

PHP数组到json格式,php,arrays,json,Php,Arrays,Json,我正试图让我的PHP数组以我需要的方式格式化 结果如下: [ { "Ryan": { "id": "5c7c9ef16f667", "quantity": "1" } }, { "Paul": { "id": "5c7d888e14233", "quantity": "2" } } ] { "Ryan": { "id": "5c7c9ef16f667", "quantity":

我正试图让我的PHP数组以我需要的方式格式化

结果如下:

 [
  {
    "Ryan": {
      "id": "5c7c9ef16f667",
      "quantity": "1"
    }
  },
  {
    "Paul": {
      "id": "5c7d888e14233",
      "quantity": "2"
    }
  }
]
{
  "Ryan": {
    "id": "5c7c9ef16f667",
    "quantity": "as"
  },
  "Paul": {
    "id": "5c7d888e14233",
    "quantity": "asd"
  }
}
以下是我期望的结果:

 [
  {
    "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);

如何更改代码以使数组像这样工作?您需要修改主数组,而不是将新数组推入其中:

$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);

您正在创建必须转换为对象的对象数组。这个答案可能会有帮助-谢谢!我想我可能需要做一些类似的事情,但我不知道该怎么做。。。一旦我能接受你的回答,我就会接受。