class A{
static $var = true;
function f(){
}
}
对比
class A{
function f(){
static $var = true;
}
}
似乎没有任何区别。使用其中一个有什么优势吗?
请注意,仅$var
在f()
函数中使用。我知道如果变量需要在多个函数中使用,则需要在类头中声明它
如果只在f
函数中使用静态变量,则只有作用域差异,这意味着只要您不尝试在其他地方使用它,就没有差异。
在本地范围内使用时,静态变量值在每个函数调用之间保留。请参阅本页的静态变量部分。
感谢 insertusernamehere 指出这一点。
在后面的示例中,您只能在f
函数内部使用 var。另一个可以从课堂内外的任何地方A::var
访问A::var