PHP におけるグローバル データの完全な名前は、スーパーグローバル配列またはスーパーグローバル変数であり、これは PHP で特別に定義された配列変数です。スーパーグローバル配列は、スクリプト内のどこからでも、どのスコープでもアクセスできます。スーパーグローバル配列変数は構築されます。 -in すべてのスコープで常に使用できる変数。
この記事の動作環境: Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター
php グローバル配列の正式名称は「スーパーグローバル配列」または「スーパーグローバル変数」です。PHPで特別に定義された配列変数です。これらの配列が利用できるため、スーパーグローバル配列と呼ばれています。スクリプト内の任意の場所およびスコープ内で、関数、クラス、ファイルなどにアクセスできます。
スーパー グローバル配列変数は、すべてのスコープで常に使用できる組み込み変数です。
PHP のスーパー グローバル配列には次のものが含まれます:
$GLOBALS
すべての変数を含むグローバル結合配列。変数の名前は配列のキーです。
var_dump($GLOBALS) を使用して出力すると、$GLOBALS がすべてを含むグローバル組み合わせ配列であることがわかります。
PHP 8.1.0 以降、$GLOBALS はグローバル シンボル テーブルの読み取り専用コピーになりました。つまり、グローバル変数はコピーによって変更できません。以前のバージョンでは、$GLOBALS 配列と PHP 配列は一般に、値を渡すときに異なる動作をし、コピーを介してグローバル変数が変更される可能性がありました。
PHP 8.1.0 より前:
$a = 1;$globals = $GLOBALS; // 表面意义的按值复制$globals['a'] = 2; // $GLOBALS['a'] 的值也相应修改 var_dump($a);//运行结果: int(2)
PHP 8.1.0 より:
$a = 1;$globals = $GLOBALS; //表面意义的按值复制$globals['a'] = 2; // $GLOBALS['a'] 的值不会改变(不再修改 $a) var_dump($a);//运行结果: int(1)
以前の動作を復元するには、そのコピーを反復処理し、各プロパティを $GLOBALS に割り当てます。
foreach ($globals as $key => $value) { $GLOBALS[$key] = $value;}
$_SERVER
$_SERVER - サーバーと実行環境の情報。 $_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列内の項目は Web サーバーによって作成されます。
$_GET
URL パラメーターを介して現在のスクリプトに渡される変数の配列。注: この配列は、メソッドが GET であるリクエストだけでなく、クエリ文字列を含むすべてのリクエストに対して有効です。
$_POST
事前定義された $_POST 変数は、method="post" を使用してフォームからデータを収集するために使用されます。価値。
HTTP POST リクエストの Content-Type が application/x-www-form-urlencoded または multipart/form-data の場合、変数は連想配列の形式で現在のスクリプトに渡されます。
POST メソッドを使用してフォームから送信された情報は誰にも見えず (ブラウザのアドレス バーには表示されません)、送信される情報の量に制限はありません。
注: ただし、デフォルトでは、POST メソッドによって送信される情報の最大量は 8 MB です (php.ini ファイルで post_max_size を設定することで変更できます)。
$_REQUEST
デフォルトでは、$_GET、$_POST、$_COOKIE の配列が含まれます。セキュリティ上の問題のため、$_REQUEST の使用は避けることをお勧めします。
$_COOKIE
HTTP Cookie を通じて現在のスクリプトに渡される変数の配列。
$_SESSION
現在のスクリプトで使用できる SESSION 変数の配列。
$_FILES
HTTP POST 経由で現在のスクリプトにアップロードされたプロジェクトの配列。
$_ENV
環境を通じて現在のスクリプトに渡される変数の配列。
これらの変数は、PHP パーサーの実行環境から PHP グローバル名前空間にインポートされます。多くは PHP の実行をサポートするシェルによって提供されており、異なるシステムでは異なる種類のシェルが実行される可能性があるため、明確なリストは不可能です。定義された環境変数のリストについては、シェルのドキュメントを確認してください。
PHP がサーバー モジュールとして実行されているか CGI プロセッサとして実行されているかに関係なく、他の環境変数には CGI 変数が含まれます。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPにおけるグローバル配列の意味の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。