我有以下问题。我正在尝试使用从数据库中获取的变量来创建饼图。但是,我很难正确显示它们。
我在for循环中尝试的方式,它们在饼图中显示为单个实体,并且不会分开。
我看到它的发生是因为没有中断线,但是我不知道如何实现它。
我试图创建一堆类似$ whatever 1,任意数量1的行。但这不能可靠地工作,因为如果$ whatever [4]是存在的最后一个变量,那么试图显示$ whatever [5]会破坏我的整个工作。
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['<?php for($i = 1; $i < $counter1; $i++) {
echo $whatever[$i];
} ?>',
<?php for($j = 1; $j < $counter1; $j++) {
echo $whatevercount[$j]; }?>],
]);
结果饼图仅是1个实体,不会分开。
答案 0 :(得分:0)
您可以使用foreach()遍历数组,从而避免尝试访问该数组中不存在的位置。
最好的方法可能是创建一个以任务名称为键,所用时间为值的数组:
$time_spent_on_task = array();
$time_spent_on_task['Task_one'] = 2;
$time_spent_on_task['Second_task'] = 4.5;
etc...
因此您可以像这样循环遍历:
foreach ($array as $key => $value) {
echo '['.$key.','.$value.'],';
}
这会导致这样的事情:
var data = google.visualization.arrayToDataTable([
[{label: 'Task', type: 'string'},
{label: 'Hours per Day', type: 'number'}],
<?php
foreach ($time_spent_on_task as $task => $time) {
echo '['.$task.','.$time.'],';
}
?>
]);
干净高效:)