gpt4 book ai didi

php - mysql php数组转特定格式

转载 作者:行者123 更新时间:2023-11-29 06:16:41 25 4
gpt4 key购买 nike

我有以下代码:

   <?php
//mysqli query here

$table = array();
$table['cols'] = array(

array('id' => '', 'label' => 'Date', 'type' => 'date'),
array('id' => '', 'label' => 'Amount ', 'type' => 'number'),
);
$rows = array();
foreach($result as $row){
$temp = array();

$date1 = date_create_from_format('Y-m-d H:i:s', $row['Date']);
$date2 = date_format($date1, 'm-d-Y');

$temp[] = array('v' => (string)'new Date("'.$date2.'")');
$temp[] = array('v' => (float) $row['Amount']);
$rows[] = array('c' => $temp);
}

$result->free();
$table['rows'] = $rows;
$jsonTable = json_encode($table, true);
echo $jsonTable;
?>

这会将以下数据输出到 google 折线图:

{"cols":[
{"label":"Reading Date","type":"date"},
{"label":"Reading ","type":"number"},
"rows":[
{"c":[{"v":"new Date(10\/04\/2015)"},{"v":0.4}]},
{"c":[{"v":"new Date(02\/18\/2016)"},{"v":0.6}]}]}

但是我需要它完全符合以下格式才能使图表正常工作:

{"cols":[
{"label":"Reading Date","type":"date"},
{"label":"Cl Reading(mg\/l) ","type":"number"}
],
"rows":[
{"c":[{"v":new Date("10/04/2015")},{"v":0.4}]},
{"c":[{"v":new Date("02/18/2016")},{"v":0.6}]}
]}

所以我真的只看一行需要更改但似乎无法将其转换为我需要的格式:

$temp[] = array('v' => (string)'new Date("'.$date2.'")');

谁能帮我解决这个问题?我知道它可能很简单,但似乎无法理解..

最佳答案

更具可读性的内容会有所帮助

<?php
//mysqli query here

$table = array(
'cols' => array(
array('id' => '', 'label' => 'Date', 'type' => 'date'),
array('id' => '', 'label' => 'Amount ', 'type' => 'number'),
),
'rows' => array(),
);
foreach($result as $row){
$date1 = date_create_from_format('Y-m-d H:i:s', $row['Date']);
$date2 = date_format($date1, 'Y, m, d'); // this
$table['rows'][] = array(
'c' => array(
array('v' => '\'Date('.$date2.')\''), // and this
array('v' => (float) $row['Amount']),
)
);
}

$result->free();
$jsonTable = json_encode($table, true);
echo $jsonTable;
?>

现在,需要改变的是什么?

编辑:
好的,我现在明白了……你不想生成 JSON,你认为你想要生成 javascript……不要……只保留它 JSON……
(参见 What is the difference between JSON and Object Literal Notation?)

事后生成日期对象。您将获得日期字符串。只需将其传递给 Date 构造函数即可。

编辑 2:
Google Documentation - Dates and Times Using the Date String Representation
你只需要用引号将 new Date(...) 括起来 (

编辑 3:我更新了我的代码块以反射(reflect)谷歌文档

关于php - mysql php数组转特定格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35493557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com