1
class A{

  static $var = true;

  function f(){

  }

}

对比

class A{

  function f(){
    static $var = true;

  }
}

似乎没有任何区别。使用其中一个有什么优势吗?

请注意,仅$varf()函数中使用。我知道如果变量需要在多个函数中使用,则需要在类头中声明它

4

2 回答 2

3

如果只在f函数中使用静态变量,则只有作用域差异,这意味着只要您不尝试在其他地方使用它,就没有差异。

在本地范围内使用时,静态变量值在每个函数调用之间保留。请参阅本页的静态变量部分。

感谢 insertusernamehere 指出这一点。

于 2013-05-06T09:47:06.513 回答
1

在后面的示例中,您只能在f函数内部使用 var。另一个可以从课堂内外的任何地方A::var访问A::var

于 2013-05-06T10:04:34.653 回答