将数组转换为 json 列表

我创建了一个数组对象,我想在我的示例输出中像这样转换它。


我想要的输出:


[

    {

        "10:00": 2,

        "10:30": 2,

        "12:00": 2,

        "12:30": 2,

        "13:00": 1,

        "13:30": 1,

        "14:00": 1,

        "14:30": 1,    

        "15:00": 1,    

        "15:30": 1,

        "16:00": 1,

        "16:30": 1,

        "17:00": 1,

        "17:30": 1,

        "18:00": 1,

        "18:30": 1,

        "19:00": 1,

        "19:30": 1,

        "20:00": 1,

        "20:30": 1,

        "21:00": 1,

        "21:30": 1,

        "22:00": 1,

        "22:30": 1,

        "23:00": 1

    }    

]

但这是我得到的结果


[

    {

        "10:00": 2

    },

    {

        "10:30": 2

    },

    {

        "12:00": 2

    },

    {

        "12:30": 2

    },

    {

        "13:00": 1

    },

    {

        "13:30": 1

    },

    {

        "14:00": 1

    },

    {

        "14:30": 1

    },

    {

        "15:00": 1

    },

    {

        "15:30": 1

    },

    {

        "16:00": 1

    },

    {

        "16:30": 1

    },

    {

        "17:00": 1

    },

    {

        "17:30": 1

    },

    {

        "18:00": 1

    },

    {

        "18:30": 1

    },

    {

        "19:00": 1

    },

    {

        "19:30": 1

    },

    {

        "20:00": 1

    },

    {

        "20:30": 1

    },

    {

        "21:00": 1

    },

    {

        "21:30": 1

    },

    {

        "22:00": 1

    },

    {

        "22:30": 1

    },

    {

        "23:00": 1

    }

]

我正在尝试使用此代码将我的代码转换为我想要的输出


$flat = array();


foreach($tempreserve->result as $v) {

    if (is_array($v)) {

        $flat = array_merge($flat, array_values_recursive($v));

    }

    else {

        $flat[] = $v;

    }

}  


守候你守候我
浏览 150回答 2
2回答

杨魅力

$a=[];$b=new stdClass();$k1="12:00";$k2="12:50";$k3="13:10";$b->$k1=1;$b->$k2=2;$b->$k3=3;$a[]=$b;echo json_encode($a);结果[{    "12:00": 1,    "12:50": 2,    "13:10": 3}]你想要这样的结果吗?完整版本:$flat=new stdClass();foreach($tempreserve as $obj) {    $a=json_decode(json_encode($obj),true);    $k=array_keys($a)[0];    $v=$a[$k];    $flat->$k=$v;}echo (json_encode($flat));

有只小跳蛙

您可以使用foreachand json_encode,$arr是数组$res = [];foreach($arr as $key => $value){  foreach($value as $innerkey => $innerValue){    $res[$innerkey] = $innerValue;  }}echo json_encode($res);
打开App,查看更多内容
随时随地看视频慕课网APP