PHP数组到json格式
我正试图让我的PHP数组以我需要的方式格式化 结果如下:PHP数组到json格式,php,arrays,json,Php,Arrays,Json,我正试图让我的PHP数组以我需要的方式格式化 结果如下: [ { "Ryan": { "id": "5c7c9ef16f667", "quantity": "1" } }, { "Paul": { "id": "5c7d888e14233", "quantity": "2" } } ] { "Ryan": { "id": "5c7c9ef16f667", "quantity":
[
{
"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);
您正在创建必须转换为对象的对象数组。这个答案可能会有帮助-谢谢!我想我可能需要做一些类似的事情,但我不知道该怎么做。。。一旦我能接受你的回答,我就会接受。