4

重複の可能性:
phpの「GLOBAL」変数と「STATIC」変数の違いは何ですか

関数内に静的変数を作成すると、この変数は関数をさらに使用するときに存在します...そして私が知る限り、グローバル変数も同じことをします。静的変数を使用する利点は何ですか?

4

2 に答える 2

10

静的変数の字句スコープはstatic関数本体に制限されています–関数の外部で変数にアクセスすることはできません。ただし、その値は、同じ関数の複数の呼び出しにわたって記憶されます。

グローバル変数はグローバルスコープに存在し、コード内のどこからでもアクセスできます(ただし、関数内でglobalキーワードまたは$GLOBALS配列を使用する必要があります)

于 2012-07-28T09:51:06.227 に答える
3

静的変数は、変数がクラスに属していることを意味しますが、そのクラスをインスタンス化することなく参照できます。グローバル変数はグローバル名前空間に存在し、任意のクラスの任意の関数から参照できます。グローバル変数は、誤用、上書き、誤って参照されるなどの理由で常に眉をひそめます。少なくとも静的変数では、Class::varを介して参照する必要があります。

于 2012-07-28T10:05:40.097 に答える