我想将我的json格式化为:
"items": [{
"item1": "text"
'item2': "text",
'item3': "text",
'item4': number,
'item5': number,
'item6': "text",
'item7': "text"
},
"item1": "text"
'item2': "text",
'item3': "text",
'item4': number,
'item5': number,
'item6': "text",
'item7': "text"
}] etc...
问题在于我只能弄清楚如何将我编码的数组编码为索引数组,这会导致关联数组。
我在循环中尝试了如下代码,显然是为了获得多行:
$final_return['items'] = array
(
'item1' => $item1,
'item2' => $item2,
'item3' => $item3,
'item4' => $item4,
'item5' => $item5,
'item6' => $item6,
'item7' => $item7
);
echo json_encode($final_return);
但是这只返回抛出到数组中的最后一组项。我已经使用索引版本,但我希望在整个集合前面的items标签。
答案 0 :(得分:0)
当您执行$ final_return [' items'] = array(...)时,您将在键'项目'上分配新值。 $ final_return数组。
你想要的是$ final_return [' items'] [] = array(....)然后再将一个新数组推入该数组。
答案 1 :(得分:0)
你需要一个数组内部的数组来实现它。
试试这个:
$final_return['items'] = array(
array
(
'item1' => '1',
'item2' => '2',
'item3' => '3',
'item4' => '4',
'item5' => '5',
'item6' => '6',
'item7' => '7'
),
array
(
'item1' => '1',
'item2' => '2',
'item3' => '3',
'item4' => '4',
'item5' => '5',
'item6' => '6',
'item7' => '7'
)
);
echo json_encode($final_return);
您可以使用array_push()将更多数组添加到数组
$data = array
(
'item1' => '1',
'item2' => '2',
'item3' => '3',
'item4' => '4',
'item5' => '5',
'item6' => '6',
'item7' => '7'
);
$final_return['items'] = array();
array_push($final_return['items'], $data, $data);
echo json_encode($final_return);