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

将数组转换为 json 列表

将数组转换为 json 列表

PHP
守候你守候我 2021-06-17 18:08:16
我创建了一个数组对象,我想在我的示例输出中像这样转换它。我想要的输出:[    {        "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;    }}  
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

$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));


查看完整回答
反对 回复 2021-06-19
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

您可以使用foreachand json_encode,$arr是数组


$res = [];

foreach($arr as $key => $value){

  foreach($value as $innerkey => $innerValue){

    $res[$innerkey] = $innerValue;

  }

}

echo json_encode($res);


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 149 浏览

添加回答

举报

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