如何使用 PHP 将递归数组转换为字符串?

我有一个包含嵌套数组的数组,我需要将其转换为具有给定格式的字符串。


这是一个 PHP 网站。我从数据库中获取信息,它是一个数组,我需要将它传递给 charts.js 以便我可以绘制它。


这是我查询数据库时得到的 varDump:


array(4) { [0]=> array(2) { ["date"]=> string(19) "2019-05-19 00:00:00" ["price"]=> string(3) "120" } [1]=> array(2) { ["date"]=> string(19) "2019-05-12 00:00:00" ["price"]=> string(3) "100" } [2]=> array(2) { ["date"]=> string(19) "2019-05-05 00:00:00" ["price"]=> string(3) "120" } [3]=> array(2) { ["date"]=> string(19) "2019-04-28 00:00:00" ["price"]=> string(3) "110" } }

这是我在文本字符串中需要的结果:


data: [{

    x: 2019-05-19 00:00:00,

    y: 120

}, {

    t: 2019-05-12 00:00:00,

    y: 100

}, {

    t: 2019-05-05 00:00:00,

    y: 120

}, {

    t: 2019-04-28 00:00:00,

    y: 110

}]


素胚勾勒不出你
浏览 241回答 2
2回答

噜噜哒

您可以使用 array_map 如下,$temp = array_map(function ($item) {return array_combine(["x", "y"], $item); }, $temp);我创建['x','y']组合作为键作为$item's 键的替换。array_combine — 通过使用一个数组作为键和另一个作为其值的数组来创建一个数组

慕莱坞森

只需循环遍历数组并创建一个新数组,然后json_encode就可以了。$data = [];foreach ($rows as $row) {    $data['x'] = $row['date'];    $data['y'] = $row['price'];}json_encode($data);
打开App,查看更多内容
随时随地看视频慕课网APP