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

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

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

PHP
素胚勾勒不出你 2021-07-08 14:01:27
我有一个包含嵌套数组的数组,我需要将其转换为具有给定格式的字符串。这是一个 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}]
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

您可以使用 array_map 如下,

$temp = array_map(function ($item) {return array_combine(["x", "y"], $item); }, $temp);

我创建['x','y']组合作为键作为$item's 键的替换。

array_combine — 通过使用一个数组作为键和另一个作为其值的数组来创建一个数组


查看完整回答
反对 回复 2021-07-16
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

只需循环遍历数组并创建一个新数组,然后json_encode就可以了。


$data = [];

foreach ($rows as $row) {

    $data['x'] = $row['date'];

    $data['y'] = $row['price'];

}


json_encode($data);


查看完整回答
反对 回复 2021-07-16
  • 2 回答
  • 0 关注
  • 240 浏览

添加回答

举报

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