我想用PHP创建一个数组,用于Google Chart。
这是我尝试过的代码,但不起作用。
其中Y=$r,X=$X_n2;
for($r=1; $r<=4; $r++){
for($i=1; $i<10; $i++){
$x_n_1=$i+1;
$x_n=$i;
$x_n_2=$r*$x_n*(1-$x_n);
echo $x_n_2.'<br>' ;
}
}
这是我想要的阵列:
$data = google.visualization.arrayToDataTable([
['Y', 'X', ],
['1',0],
['',-2],
['',-6],
['',-12],
['',-20],
['',-30],
['',-42],
['',-56],
['',-72],
['2',0],
['',-6],
['',-18],
['',-36],
['',-60],
['',-90],
['',-126],
['',-168],
['', -216],
...
有没有办法自动做到这一点?
这将创建一个PHP数组:
for($r=1; $r<=4; $r++){
for($i=1; $i<10; $i++){
$chart[i+1] = array($i,$r*$i*(1-$i));
}
}
我不确定元素方程是否正确,但你应该明白。
要在PHP中创建要在JavaScript中使用的数组:
此代码经过测试
$js = 'var chart = ['; // start JavaScript array
for($r=1; $r<=4; $r++){
for($x=1; $x<10; $x++){
$y = $r*$i*(1-$i);
$js .= "[$x,$y],"; // append set of array elements
}
}
$js = substr($js,0,-1) . "];'n"; // remove last comma, close array, end line
echo <<<EOT // add the array ($js) to JavaScript
<script type="text/javascript"> //<![CDATA[
$js
//]]>
</script>
EOT;
必须删除echo <<<EOT
之后的注释,EOT之后的行上不允许有任何内容,甚至不允许有空格
//<![CDATA[
和//]]>
不是注释,它们用于告诉HTML解析器不要将JavaScript解析为HTML。我使用它们来消除W3C HTML标记验证器报告的错误。
结果:
<script type="text/javascript"> //<![CDATA[
var chart = [[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0]];
//]]>
</script>