javascript - 全局变量在 PHP 中有效,但在 Javascript 中无效
问题描述
我正在使用谷歌的这个脚本来创建一个组合图表。
https://developers.google.com/chart/interactive/docs/gallery/combochart
由于我的情况,我使用 php 从数据库中获取数据。由于问题不在于获取数据,因此对于下面的代码,我只是硬编码 $CT_Companies=4 来显示问题(实际上数字 4 来自数据库。
这是创建组合条和折线图所需的配置系列的php函数。
$CT_Companies=4;
function bar_series(){
global $CT_Companies;
$ser="";
for ($i = 0; $i <= $CT_Companies; $i++) {
if ($i==$CT_Companies ) {
$ser .= $i.":{type: 'line'}";
} else {
$ser .= $i.":{visibleInLegend: true}, ";
}
}
return $ser;
}
这是我用来创建配置系列的 javascript。
var options = {
series: {
<?php echo bar_series(); ?>
}
}
这不起作用,因为虽然它确实按预期显示了图形,但没有折线图。现在,如果我将 $CT_Companies=4放在bar_series 函数中,它可以正常工作,并且折线图按预期显示。所以看起来全局不起作用。还有一条信息...如果我在这两种情况下都在 php 部分(而不是 javascript 部分)中回显 bar_series() ,则该系列被回显并且看起来如预期。我很困惑为什么这不起作用。
解决方案
推荐阅读
- ios - 在收据验证响应中未收到 expiration_date、expiration_date_ms 和 expiration_date_pst
- neural-network - 使用视觉检测系统的自动驾驶汽车如何处理 n 种可能性作为输入
- angular - 如何在 TS (Angular) 中的数字类型变量中保留十进制零?
- css - 如何使用 webpack/rails 6 预加载自定义字体
- jenkins - Groovy 脚本因系统 groovy 而失败
- c - c循环函数计算时间复杂度
- php - Laravel 发布数据
- javascript - 在 Formik 中提交嵌套表单
- javascript - 使用 ngx-translate 以 Angular 10 转换动态字符串
- mysql - 通过匹配值重新组合数据