在内联PHP中包含Javascript变量
我在用图表绘制图表。现在要放在图表上的点是一个数组,我循环所有结果来绘制多个图表 根据循环中的当前位置,我想要一个包含PHP数组中的值的图表 这是我当前的代码在内联PHP中包含Javascript变量,javascript,php,arrays,Javascript,Php,Arrays,我在用图表绘制图表。现在要放在图表上的点是一个数组,我循环所有结果来绘制多个图表 根据循环中的当前位置,我想要一个包含PHP数组中的值的图表 这是我当前的代码 $('.ct-chart-current').each(function(i,v) { new Chartist.Line(this, { labels: [<?php echo $labelscurrent[0] ?>], series: [ [<?php
$('.ct-chart-current').each(function(i,v) {
new Chartist.Line(this, {
labels: [<?php echo $labelscurrent[0] ?>],
series: [
[<?php echo $current[X] ?>]
]
}, currentopts);
});
$('.ct图表当前')。每个(函数(i,v){
新的图表绘制线(此{
标签:[],
系列:[
[]
]
},当前选项);
});
您可以看到,我正在尝试从$current数组中获取值X。现在我如何在each循环中使用函数调用中的“I”
伪码
$('.ct图表当前')。每个(函数(-->i)
]
},当前选项);
});
我在我希望在PHP中回显的javascript“I”周围添加了箭头。
我在PHP中尝试过不同的方法,比如echo'ing
标记,但我猜应该有更简单的方法 不容易。您只需要了解PHP和Javascript之间的主要区别。第一个是服务器端。其次是客户端。当客户端获得javascript时,服务器端(即PHP)已经被解析
执行所需操作的一种方法是使用JSON这样的简单格式输出$current数组,这在Javascript中很容易获取。例如
var currentArray = <?php echo json_encode($currentArray); ?>;
var labels = <?php echo json_encode($labelscurrent); ?>;
$('.ct-chart-current').each(function(i, v) {
new Chartist.Line(this, {
labels: labels[i],
series: [currentArray[i]]
});
}, currentopts);
var currentArray=;
var标签=;
$('.ct图表当前')。每个(函数(i、v){
新的图表绘制线(此{
标签:标签[i],
系列:[currentArray[i]]
});
},当前选项);
显然,您必须用自己的变量替换变量,因为我们遗漏了您的一些代码;)
但是你有诀窍:通过回显json_编码的值将值从PHP传递到Javascript。你可以用json编码PHP变量并打印它们。
对于
系列
数据,您需要将数据放入单独的JavaScript变量中,然后在JavaScript运行时访问它
var series_data = <?php echo json_encode($current); ?>;
$('.ct-chart-current').each(function(i,v) {
new Chartist.Line(this, {
labels: <?php echo json_encode($labelscurrent[0]); ?>,
series: [
series_data[i]
]
}, currentopts);
});
var系列_数据=;
$('.ct图表当前')。每个(函数(i、v){
新的图表绘制线(此{
标签:,
系列:[
系列_数据[i]
]
},当前选项);
});
我看到过这个帖子,情况不一样,因为我已经用javascript写出了PHP。我需要在PHP中回显Javascript,而这正是Javascript中的内容。希望您理解.PHP在JS之前运行,这样您所要求的就不可能了。也许您使用i
值对PHP进行ajax调用,并让它返回您需要的内容。为什么我没有想到这一点呢!非常感谢你!我要试一试
var series_data = <?php echo json_encode($current); ?>;
$('.ct-chart-current').each(function(i,v) {
new Chartist.Line(this, {
labels: <?php echo json_encode($labelscurrent[0]); ?>,
series: [
series_data[i]
]
}, currentopts);
});