Php 如何更改数据结构以用于google折线图

Php 如何更改数据结构以用于google折线图,php,arrays,json,data-structures,google-visualization,Php,Arrays,Json,Data Structures,Google Visualization,我有一个json api提要,我想重新构造它,以便在google折线图中使用,但我不知道如何循环json数据以在php中创建一个新数组。使事情复杂化的是,我想为每个项目绘制的数据位于不同的行上 这是json数据 { "records": [ { "id": "2", "groupno": "1", "urlsource": "https://www.amazon.co.uk/Boot-Buddy-fa

我有一个json api提要,我想重新构造它,以便在google折线图中使用,但我不知道如何循环json数据以在php中创建一个新数组。使事情复杂化的是,我想为每个项目绘制的数据位于不同的行上

这是json数据

{
    "records": [
        {
            "id": "2",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/Boot-Buddy-fastest-simplest-footwear/dp/B014UPAHO4?pd_rd_wg=lVVK6&pd_rd_r=bf1ba871-fb59-4c66-a146-e94dde7c8e6d&pd_rd_w=gWC2F&ref_=pd_gw_ri&pf_rd_r=W68MX1TXFDDJ8Q8Z08CP&pf_rd_p=cecd4520-32f6-5499-ae19-cd4e83816acd",
            "name": "Boot buddy",
            "date": "2019-04-14 16:00:29.595",
            "price": "£14.99"
        },
        {
            "id": "1",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/dp/B07CH6JKW3/ref=gw_uk_desk_h1_aucc_cp_mp?pf_rd_p=e4e5a2e6-ddbd-473a-a5fb-e8cc09a11f88&pf_rd_r=1MN25BRXY8YDQ4TBK4X6",
            "name": "Amazon echo",
            "date": "2019-04-14 16:00:29.595",
            "price": "£19.99"
        },
        {
            "id": "2",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/Boot-Buddy-fastest-simplest-footwear/dp/B014UPAHO4?pd_rd_wg=lVVK6&pd_rd_r=bf1ba871-fb59-4c66-a146-e94dde7c8e6d&pd_rd_w=gWC2F&ref_=pd_gw_ri&pf_rd_r=W68MX1TXFDDJ8Q8Z08CP&pf_rd_p=cecd4520-32f6-5499-ae19-cd4e83816acd",
            "name": "Boot buddy",
            "date": "2019-04-14 21:50:31.362",
            "price": "£14.99"
        },
        {
            "id": "1",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/dp/B07CH6JKW3/ref=gw_uk_desk_h1_aucc_cp_mp?pf_rd_p=e4e5a2e6-ddbd-473a-a5fb-e8cc09a11f88&pf_rd_r=1MN25BRXY8YDQ4TBK4X6",
            "name": "Amazon echo",
            "date": "2019-04-14 21:50:31.362",
            "price": "£19.99"
        },
        {
            "id": "2",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/Boot-Buddy-fastest-simplest-footwear/dp/B014UPAHO4?pd_rd_wg=lVVK6&pd_rd_r=bf1ba871-fb59-4c66-a146-e94dde7c8e6d&pd_rd_w=gWC2F&ref_=pd_gw_ri&pf_rd_r=W68MX1TXFDDJ8Q8Z08CP&pf_rd_p=cecd4520-32f6-5499-ae19-cd4e83816acd",
            "name": "Boot buddy",
            "date": "2019-04-14 21:54:11.184",
            "price": "£12.99"
        },
        {
            "id": "1",
            "groupno": "1",
            "urlsource": "https://www.amazon.co.uk/dp/B07CH6JKW3/ref=gw_uk_desk_h1_aucc_cp_mp?pf_rd_p=e4e5a2e6-ddbd-473a-a5fb-e8cc09a11f88&pf_rd_r=1MN25BRXY8YDQ4TBK4X6",
            "name": "Amazon echo",
            "date": "2019-04-14 21:54:11.184",
            "price": "£17.99"
        }
    ]
}
这是我想要为线图实现的结构

[
    ['Date time',                   'Boot buddy price',     'Amazon echo price'],
    ['2019-04-14 16:00:29.595',     £14.99,                 £19.99],
    ['2019-04-14 21:50:31.362',     £14.99,                 £19.99],
    ['2019-04-14 21:54:11.184',     £12.99,                 £17.99],
]

我真的不知道从哪里开始。我发现的其他问题/解决方案没有相同的原始数据格式。感谢您的帮助

您可以在json上循环两次-首先在数组中获取所需的数据并格式化它们

首先,在json上循环如下:

$arr = jsone_decode($jsonStr, true);
foreach($arr as $e) {
    $data[$e["date"]][$e["name"]] = $e["price"];
}
现在,再次在
$data
上循环以格式化输出:

$res[] = ['Date time', 'Boot buddy price', 'Amazon echo price']; // set the header
foreach($data as $k => $e) {
    $res[] = [$k, $e["Boot buddy"], $e["Amazon echo"]];
}

$res
将包含您想要的格式

您可以在json上循环两次-首先在数组中获取您想要的数据并格式化它们

首先,在json上循环如下:

$arr = jsone_decode($jsonStr, true);
foreach($arr as $e) {
    $data[$e["date"]][$e["name"]] = $e["price"];
}
现在,再次在
$data
上循环以格式化输出:

$res[] = ['Date time', 'Boot buddy price', 'Amazon echo price']; // set the header
foreach($data as $k => $e) {
    $res[] = [$k, $e["Boot buddy"], $e["Amazon echo"]];
}

$res
将包含您的愿望格式

您能解释一下您的愿望输出吗?是字符串还是数据?在本例中,您有6个元素,但输出5?如果您可以将现有数据放入google的数据表中,那么您可以使用google的数据视图和分组方法来获得所需的结果。请看一个类似的例子…@dWinder抱歉,我不清楚,我已经更新了这个例子,以清楚地显示所需的输出您能解释一下您所需的输出吗?是字符串还是数据?在本例中,您有6个元素,但输出5?如果您可以将现有数据放入google的数据表中,那么您可以使用google的数据视图和分组方法来获得所需的结果。请参阅类似示例…@dWinder抱歉,我不清楚,我已更新示例以清楚显示所需的输出