什么';s php中静态变量和全局变量之间的区别


What's the difference between static variables and globals in php?

可能重复:
";GLOBAL";以及“静态";php 中的变量

如果我们在函数内部创建一个静态变量,则该变量存在于函数的进一步使用中。。。据我所知,全局变量也是如此。现在,使用静态变量有什么好处?

static静态变量的词法作用域仅限于函数体,不能访问函数外的变量。但是,它的值将在同一函数的多个调用中被记住。

全局变量存在于全局范围内,可以从代码中的任何位置访问(但必须在函数中使用global关键字或$GLOBALS数组)

静态变量只是意味着var属于一个类,但可以在不实例化所述类的情况下被引用。全局var位于全局命名空间中,并且可以被任何类中的任何函数引用。全局变量总是不受欢迎,因为它们很容易被误用、覆盖、意外引用等。至少对于静态变量,你需要通过Class::var引用;