4

可能重复:
php中的“GLOBAL”和“STATIC”变量有什么区别

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

4

2 回答 2

10

静态变量的词法范围static仅限于函数体——您不能在函数外部访问该变量。但是,它的值将在同一函数的多次调用中被记住。

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

于 2012-07-28T09:51:06.227 回答
3

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

于 2012-07-28T10:05:40.097 回答