如何从url参数循环id

时间:2017-11-09 05:35:24

标签: php laravel

这是我的要求:

https://localhost/profiles?id=1,2

我希望得到一个输出:

"data": [
    {
        "id": 1
    },
    {
        "id": 2
    }
]

4 个答案:

答案 0 :(得分:4)

你可以这样做: -

$data = explode(',',  $_GET['id']);
$data =array_map(function($item){
    return ['id' => $item];
},$data);
echo json_encode(['data' => $data]);

https://eval.in/896004

答案 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']));