2011-07-14 22 views
-2

我在PHP是这样的:做可在其他外部功能一个变量的值:特殊情况


- mainfunction
- 功能1
- 函数2

函数1和函数2从main函数调用。我需要函数1中的变量值传递给函数2。他们没有关系,所以我不能通过参数。

我试过用$ this->变量,但在function2中看不到变化。

在此先感谢。


在我使用的类定义中:var $ piVarsList; 然后在函数1中我写道:$ piVarsList = $ this-> piVars;我使用print_r($ piVarsList)在函数1中调试时;我看到$ this-> piVars数据,但是当我在function2中这样做时,我什么都看不到。


谢谢玻璃机器人。我遇到了问题。函数1和函数2中的代码呈现一个网页,所以当执行函数2时,它将在代码的新调用中,函数1永远不会被调用。

我想以不同的方式存储来自function1的数据,而不是在URL中传递参数,因为我使用缓存功能,如果URL中的参数不同,它会存储新页面。

+0

你能添加一个例子吗? $ this-> smth应该可以工作 – RiaD

+0

你介意分享代码吗? – Shameer

+1

@Memochipan:编辑您的帖子以显示源 – RiaD

回答

1

在您更新的问题中,您遇到的问题是您将局部变量分配给类变量的值。你需要反过来:

class ClassName 
{ 
    protected $a_variable; 

    public function function1() 
    { 
     // $variable can only be seen inside the method function1 
     $variable = 'stuff'; 
     $this->a_variable = $variable; 

     // can also be written like this: 
     //$this->a_variable = 'stuff'; 
    } 

    public function function2() 
    { 
     echo $this->a_variable; 
    } 
}