我知道按照预期的方式做事情会更好,使用$ this-> fname在类中声明和设置变量....我明白了......
但是为了不让这个问题变长,我只想说我的班级中有一个函数可以提取和解析数据到$ var =“”中设置的大量变量;方式。
说.. $ fname =“Sollenn”; $ age =“20”;
我在同一个类中有另一个函数,我稍后应该在我的代码中调用,这个函数需要以相同的方式调用这些变量
$currentName = $fname;
etc..
如果我尝试在第一个函数中正确设置类变量$ this-> fname,那么第二个函数/例程将会中断..
我也不能GLOBALIZE $ fname等变量..因为我需要变量留在类中
有没有其他方法可以做到这一点?
答案 0 :(得分:1)
通过声明变量$var = "value";
,您将在本地堆栈中声明该变量。函数执行完成后,堆栈将被清除,并且无法从函数范围外部访问堆栈。
你必须使用:
答案 1 :(得分:1)
让您的第一个方法返回数组,然后在需要时将其传递给第二个方法
Class Foo
{
public function first()
{
// process that builds an array
return $array;
}
public function second($array)
{
// do something with array
}
}
$foo = new Foo;
$array = $foo->first();
// other stuff in code
$foo->second($array);
编辑:考虑一下,没有必要将数组存储在类
之外class Bar
{
protected $array_from_first;
public function first()
{
$this->array_from_first = $array;
}
public function second()
{
$array = $this->array_from_first;
}
}