ホームページ  >  記事  >  バックエンド開発  >  PHP 変数スコープ、PHP グローバル変数、および静的変数

PHP 変数スコープ、PHP グローバル変数、および静的変数

WBOY
WBOYオリジナル
2016-07-25 08:52:381101ブラウズ
  1. $a = 1;
  2. include 'b.inc';>
コードをコピー
ここで、変数 $a はインクルード ファイル b.inc で有効になります。 ユーザー定義関数では、ローカル関数スコープが導入されます。 関数内で使用される変数はデフォルトでローカル関数のスコープに制限され、現時点ではローカル変数です。 ​ PHP グローバル変数を関数で使用する場合は、グローバル変数を宣言する必要があります。 関数内で global を使用して宣言された変数はグローバル変数であり、関数の外部で使用できます。

注: 変数をグローバルに宣言する場合、変数に値を直接割り当てることはできません。最初に変数を宣言してから、値を割り当てる必要があります。

グローバル スコープでは、$GLOBALS を通じてグローバル変数にアクセスすることもできます。関数内のグローバル変数にアクセスするために global キーワードを使用する必要はありません。 $GLOBALS は連想配列であり、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。

定数は、変数のスコープに関係なく、どこでも定義してアクセスできます。

変数スコープのもう 1 つの重要な機能は、静的変数です。 PHP 静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても、その値は失われません。 静的変数は最初の呼び出し時にのみ初期化されます。宣言時に値を割り当てることはできますが、式の値にすることはできません。 PHPの静的変数の簡単な例 これを宣言内の式の結果に代入すると、解析エラーが発生します。

参照 (& が付いた変数またはオブジェクト) が静的変数に割り当てられる場合、その参照は静的に保存されず、関数が 2 回目に呼び出されたときに静的変数の値は記憶されません。 同様に、参照 (& が付いた変数またはオブジェクト) がグローバル変数に割り当てられている場合、この変数の変更は関数の外部には影響せず、スコープは関数内のみになります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。