所以,我有两个功能。第一个是激活游戏奖金,另一个是在模板中显示所有奖金。
public function send()
{
$reduct = (1 - $CONF['reduc_numb'] / 100);
}
第二功能:
function show()
{
$this->tplObj->assign_vars(array('bonus' => $USER_bonus));
}
我的问题是如何在功能展示中访问$reduct
元素并将其分配给我的模板文件?
答案 0 :(得分:0)
如果你的两个函数send()和show()在同一个类中,那么
您可以在show()函数中调用send()函数,如下所示
public function send()
{
$reduct = (1 - $CONF['reduc_numb'] / 100);
return $reduct;
}
function show()
{
$reduct = $this->send();
$this->tplObj->assign_vars(array(
'bonus' => $USER_bonus,
'reduct' => $reduct
));
}
答案 1 :(得分:0)
添加
return $reduct;
致你的公共职能。当你调用这个函数时,
echo your_function(and, variables, here);
它将像一个变量,因此你可以使用它。
答案 2 :(得分:0)
从字面上看,这是不可能的。这就是为什么......一次只能执行一个功能。并且在该函数完成它的执行之后,将清除每个函数内的局部变量。以下是您实现目标的两种方法。
使用全局变量,以便这两个函数都可以访问它。
您可以将变量$reduct
声明为全局变量,并使send()
将计算值存储到全局变量$reduct
,以便show()
也可以访问它。在这种情况下,您的代码变为:
$reduct;
function send(){
global $reduct;
$reduct = (1 - $CONF['reduc_numb'] / 100);
}
function show(){
global $reduct;
$this->tplObj->assign_vars(array('bonus' => $USER_bonus)); //$reduct is available
}
从send()
内部致电show()
这种方法很简单。由于您的函数send()
已经返回$reduct
,请从send()
内部调用show()
并使用send()
返回的值。