答案 0 :(得分:4)
你可以这样做: -
$data = explode(',', $_GET['id']);
$data =array_map(function($item){
return ['id' => $item];
},$data);
echo json_encode(['data' => $data]);
答案 1 :(得分:4)
试试这个: -
$data = array('data' => array());
foreach(explode(',', $_GET['id']) as $key => $val){
$data['data'][$key]['id'] = $val;
}
print_r(json_encode($data));
答案 2 :(得分:2)
你可以用更多的方式做到这一点,以获得更清洁的解决方案。
$data = explode(',', $request->input('id'));
$data = collect($data)->map(function($item){
return ['id' => $item];
});
dd(json_encode(['data' => $data]));
答案 3 :(得分:0)
在这个特殊的简单案例中,您还可以使用preg_replace
:
printf('{"data":[%s]}', preg_replace('~(\d+)~', '{"id"=$1}', $_GET['id']));