为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数组转换为json对象?

如何将数组转换为json对象?

PHP
慕侠2389804 2023-04-21 17:22:53
我正在尝试将值推送到数组中,结果就像[{"Monday":"11:30"},{"Monday":"12:00"},{"Monday":"23:00"},{"Tuesday":"11:30"},{"Tuesday":"12:00"},{"Tuesday":"23:00"}]但我希望它成为一个对象{"Monday" : [ "11:30", "12:00", "23:00"]"Tuesday" : ["11:30","12:00","23:00"]}这是我的代码片段$timings = DoctorTimings::where('doctor_id', '=', $input['doctor_id'])->get();$doctor_timings = [];foreach($timings as $timing) {    $day_id = $timing->day_id;    $time_slot_id = $timing->time_slot_id;    $day_id =  Days::where('id', '=', $day_id)->first()->day;    $time_id = DB::table('time_slot')->where('id', '=', $time_slot_id)->select('time')->first()->time;      array_push($doctor_timings, array($day_id => $time_id));}$doctorTimings = json_encode($doctor_timings);echo $doctorTimings;
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您可以使用mapToGroups获取请求的格式。但是我不知道你的表结构所以我得到了这些;


[{"Monday":"11:30"},{"Monday":"12:00"},{"Monday":"23:00"},{"Tuesday":"11:30"},{"Tuesday":"12:00"},{"Tuesday":"23:00"}]

放入集合中(假设你雄辩的集合像那样返回)


$timings = collect([

        ["Monday" => "11:30"],

        ["Monday" => "12:00"],

        ["Monday" => "23:00"],

        ["Tuesday" => "11:30"],

        ["Tuesday" => "12:00"],

        ["Tuesday" => "23:00"]

    ]);


    return $timings->mapToGroups(function ($item) {

        $day = array_key_first($item);


        return [$day => $item[$day]];

    });

打印这些;


{

  "Monday": [

    "11:30",

    "12:00",

    "23:00"

  ],

  "Tuesday": [

    "11:30",

    "12:00",

    "23:00"

  ]

}

编辑:(你在网上发布的相同数组在这里使用+我用于解决方案的相同功能)


$days = ["Monday", "Monday"];

$time = ["11:30", "12:30"];

$doctor_timings = [];

for ($i = 0; $i < sizeof($days); $i++) {

    $day_id = $days[$i];

    $time_id = $time[$i];

    array_push($doctor_timings, [$day_id => $time_id]);

}


return collect($doctor_timings)->mapToGroups(function ($item) {

    $day = array_key_first($item);


    return [$day => $item[$day]];

});

哪个打印


{"Monday":["11:30","12:30"]}


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信