访问类外的全局变量

时间:2011-08-03 09:16:43

标签: php class global-variables

我正在使用JpGraph和CodeIgniter。在JpGraph中,您可以定义一个Callback函数来添加一些属性。

在我的测试中,一切都是正确的,我用过:

for( $i=0; $i < $n; ++$i ) 
{
$datax[$i] = $data[$i][0];
$datay[$i] = -$data[$i][1];

$format[strval($datax[$i])][strval($datay[$i])] = array($data[$i][2],$data[$i][3]);
}

然后我指定回调:

 $sp1->mark->SetCallbackYX("FCallback");

我的功能:

function FCallback($aYVal,$aXVal) 
{
    global $format;
    return array($format[strval($aXVal)][strval($aYVal)][0],'',
     $format[strval($aXVal)][strval($aYVal)][1],'','');
}   

但是,使用CodeIgniter,我在一个类中构建我的图形,所以我不能使用全局var $格式。有一种方法可以访问类外的var $格式吗?感谢。

1 个答案:

答案 0 :(得分:0)

最好找到一种方法将$ format变量传递给FCallback函数而不是使用全局范围。但是,如果您需要,可以尝试使用$ GLOBALS数组。

将$ format函数传递到控制器类中的$ GLOBALS数组

$GLOBALS['format'] = $format;

然后在FCallback函数中,您将使用反向获取变量。

$format = $GLOBALS['format'];