要在Javascript中使用的PHP数组的数据库字符串值
我需要将值存储到Wordpress数据库中,然后在Google图表中使用该值 问题是: 1.我使用什么格式将其存储到数据库中? 目前我正在使用WP-TYPES,并将数组添加到多行框中,如下所示:要在Javascript中使用的PHP数组的数据库字符串值,javascript,php,arrays,google-visualization,Javascript,Php,Arrays,Google Visualization,我需要将值存储到Wordpress数据库中,然后在Google图表中使用该值 问题是: 1.我使用什么格式将其存储到数据库中? 目前我正在使用WP-TYPES,并将数组添加到多行框中,如下所示: ['Month','Value 1','Value 2'],['2004',1000,400],['2005',1170,460],['2006',660,1120],['2007',1030,540] 这就是它需要在Javascript中为图表输出的内容 在PHP中将字符串转换为数组(操作不正确)
['Month','Value 1','Value 2'],['2004',1000,400],['2005',1170,460],['2006',660,1120],['2007',1030,540]
这就是它需要在Javascript中为图表输出的内容
$graphdata=types\u render_字段(“图形数据”,数组(“输出”=>“原始”,“分隔符”=>“;”))代码>
这给了我一个字符串值
然后我将其添加到数组中:
$thechartcontent[$i]=[
“name”=>获取标题(),
“chartheaders”=>数组($graphdata),
];代码>
在JavaScipt中:
我将PHP数组设置为Java
var chart1=代码>
然后我将数据从数组中获取到一个变量:
var chartheaders1 = chart1['chartheaders'];
这就是我被卡住的地方。我得到的值是一个字符串。它需要准确地表明这一点:
['Month','Value 1','Value 2'],['2004',1000,400],['2005',1170,460],['2006',660,1120],['2007',1030,540]
让它工作
请提供任何帮助。好吧,它不会完全像你想要的那样,因为它是用JSON格式编码的JSON。或者您可以在JS中将对象转换为数组。我怀疑您输出的是一个包含字符串的数组,而这不是您想要的。在将数据添加到$thechartcontent
之前,必须将$graphdata
拆分为包含数据的数组:
$graphdata = substr($graphdata, 1, strlen($graphdata) - 1); // trim the opening and closing brackets
$graphdata = explode('],[', $graphdata); // split $graphdata into an array of strings
foreach($graphdata as &$row) {
$row = explode(',', $row); // split the row into an array
}
$thechartcontent[$i] = array(
'name' => get_the_title(),
'chartheaders' => $graphdata
);
当您对数据进行json编码时,应该使用json\u NUMERIC\u CHECK
常量,这样您的数字就不会被引用为字符串:
var chart1 = <?php echo json_encode($thechartcontent[0], JSON_NUMERIC_CHECK); ?>;
var chart1=;
您尝试过JSON格式吗?我有。尝试了json_解码、分解和序列化,但我如何才能得到完全一样的结果。否则图表就不起作用了。我是否应该以不同的格式存储它?如果您不想更改格式以强制json_encode编码为数组,请尝试在JS中将对象转换为数组。例如jQuery.makeArray()