首页 > 解决方案 > 全局变量在 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() ,则该系列被回显并且看起来如预期。我很困惑为什么这不起作用。

标签: javascriptphpgoogle-visualization

解决方案


推荐阅读