我正在使用图表绘制图表。现在要放在图表上的点是一个数组,我正在循环所有结果以绘制多个图表。
根据循环中的当前位置,我想要一个包含 PHP 数组值的图表。
这是我当前的代码
$('.ct-chart-current').each(function(i,v) {
new Chartist.Line(this, {
labels: [<?php echo $labelscurrent[0] ?>],
series: [
[<?php echo $current[X] ?>]
]
}, currentopts);
});
您可以看到我正在尝试从$current数组中获取值 X。现在我如何在每个循环中使用函数调用中的"i"
伪代码
$('.ct-chart-current').each(function(--> i <-- ,v) {
new Chartist.Line(this, {
labels: [<?php echo $labelscurrent[0] ?>],
series: [
[<?php echo $current[ -->i <--] ?>]
]
}, currentopts);
});
我在 JavaScript "i" 周围添加了箭头,我希望在我的 PHP 中回响。我已经尝试了不同类型的方法,例如在我的 PHP 中回显<script>
标签,但我猜应该有一种更简单的方法?
不容易。你只需要了解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);
显然,您必须用您的变量替换变量,因为我们错过了您的代码;)但是你有诀窍:通过回显json_encoded值将值从PHP传递到Javascript。
您可以对PHP变量进行JSON编码并打印它们。
对于series
数据,您需要将数据放入单独的 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);
});