PHP スーパーグローバル変数の概要

不言
リリース: 2023-04-02 14:16:01
オリジナル
1612 人が閲覧しました

PHP 4.1.0 で導入されたスーパーグローバル変数は、すべてのスコープで常に使用できる組み込み変数です。

スーパー グローバル変数 — スーパー グローバル変数は、すべてのスコープで常に使用できる組み込み変数です。

PHP の事前定義変数の多くは「スーパーグローバル」です。つまり、スクリプトのスコープ全体で使用できます。これらは、 global $variable; を実行せずに、関数またはメソッド内でアクセスできます。

#これらのスーパー グローバル変数は次のとおりです:

##$GLOBALS — グローバル スコープで使用可能なすべての変数を参照します。

すべての変数を含むグローバルな組み合わせ 配列。変数の名前は配列のキーです。 ##

<?php

function test(){
    $foo = "local variable";
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:Example content
    echo &#39;$foo in current scope:&#39;.$foo.&#39;<br />&#39;;//$foo in current scope:local variable
    $GLOBALS[&#39;foo&#39;] = &#39;1111&#39;;
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:1111}
$foo = "Example content";
test();
echo $foo.&#39;<br />&#39;;//1111
ログイン後にコピー

<?= = ] = $GLOBALS[] + $GLOBALS[];.$b.;
ログイン後にコピー

global はグローバル変数の定義に使用されますが、これはグローバル変数は Web サイト全体には適用されませんが、include または require 内のすべてのファイルを含む現在のページに適用されます。ただし、関数本体内で定義したグローバル変数は関数本体内で使用できますが、関数本体外で定義したグローバル変数は関数本体内で使用できませんので、詳細は以下の例を参照してください。

(1) 関数本体内で使用できるグローバル変数を関数本体内で定義します。

<?php

$a = 1;
$b = 2;
function sum(){    global $a,$b;//在函数内声明为全局变量
    $b = $a + $b;
}
sum();
echo $a.&#39;---&#39;.$b.&#39;<br />&#39;;//1---3
ログイン後にコピー

(2) グローバル変数は関数本体の外で定義し、関数本体内で使用することはできません。

$a = 1;global $a;//在函数体外把$a定义为global变量function aa(){
    echo $a;
}
aa();//会报错,不能输出变量
ログイン後にコピー

##$_SERVER --

$HTTP_SERVER_VARS [削除済み] --

サーバーと実行環境の情報 は、ヘッダー、パス、スクリプトの場所などの情報が含まれるファイルです。情報の配列などです。この配列内の項目は Web サーバーによって作成されます。すべてのサーバーがすべてのアイテムを提供するという保証はありません。サーバーは一部を無視したり、ここにリストされていないアイテムを提供したりする可能性があります。 次の表は、$_SERVER:

でアクセスできる最も重要な要素を示しています。#$_SERVER['HTTP_ACCEPT_CHARSET']現在のリクエストから Accept_Charset ヘッダーを返します (utf-8、ISO-8859-1 など)$_SERVER['HTTP_HOST']現在のリクエストから Host ヘッダーを返します。 $_SERVER['HTTP_REFERER'] 現在のページの完全な URL を返します (すべてのユーザー エージェントでサポートされていないため信頼できません)。 $_SERVER['HTTPS']安全な HTTP プロトコルを通じてスクリプトをクエリするかどうか。 $_SERVER['REMOTE_ADDR']現在のページを閲覧しているユーザーの IP アドレスを返します。 $_SERVER['REMOTE_HOST']現在のページを閲覧しているユーザーのホスト名を返します。 $_SERVER['REMOTE_PORT']ユーザーのマシン上の Web サーバーへの接続に使用されるポート番号を返します。 $_SERVER['SCRIPT_FILENAME']現在実行中のスクリプトの絶対パスを返します。 $_SERVER['SERVER_ADMIN']この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメータを指定します。 $_SERVER['SERVER_PORT']Web サーバーによって使用されるポート。デフォルト値は「80」です。 $_SERVER['SERVER_SIGNATURE'] サーバーのバージョンと仮想ホスト名を返します。 $_SERVER['PATH_TRANSLATED'] 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。 $_SERVER['SCRIPT_NAME'] 現在のスクリプトのパスを返します。 $_SERVER['SCRIPT_URI'] 現在のページの URI を返します。

<?php

echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($_SERVER);
ログイン後にコピー

$_GET -- $HTTP_GET_VARS [已弃用] — HTTP GET 变量

通过 URL 参数传递给当前脚本的变量的数组。

$_POST -- $HTTP_POST_VARS [已弃用] — HTTP POST 变量

当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。

$_FILES -- $HTTP_POST_FILES [已弃用] — HTTP 文件上传变量

通过 HTTP POST 方式上传到当前脚本的项目的数组。

$_COOKIE -- $HTTP_COOKIE_VARS [已弃用] — HTTP Cookies

通过 HTTP Cookies 方式传递给当前脚本的变量的数组。

$_SESSION -- $HTTP_SESSION_VARS [已弃用] — Session 变量

当前脚本可用 SESSION 变量的数组

$_REQUEST — HTTP Request 变量

$_ENV -- $HTTP_ENV_VARS [已弃用] — 环境变量

通过环境方式传递给当前脚本的变量的数组。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

php中imagettfbbox和imagettftext 文字图片自动换行的方法

PHP中的常见魔术方法功能作用及用法

以上がPHP スーパーグローバル変数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
要素/コード 説明
$_SERVER['PHP_SELF']現在のものを返します実行スクリプトのファイル名。
$_SERVER['GATEWAY_INTERFACE']サーバーが使用する CGI 仕様のバージョンを返します。
$_SERVER['SERVER_ADDR']スクリプトが現在実行されているサーバーの IP アドレスを返します。
$_SERVER['SERVER_NAME']スクリプトが現在実行されているサーバーのホスト名を返します。
$_SERVER['SERVER_SOFTWARE']サーバー識別文字列 (Apache/2.2.24 など) を返します。
$_SERVER['SERVER_PROTOCOL'] ページが要求されたときの通信プロトコルの名前とバージョンを返します (たとえば、「HTTP/1.0」)。
$_SERVER['REQUEST_METHOD']ページへのアクセスに使用されるリクエスト メソッド (POST など) を返します。
$_SERVER['REQUEST_TIME']リクエストが開始されたときのタイムスタンプを返します (例: 1577687494)。
$_SERVER['QUERY_STRING'] このページがクエリ文字列を介してアクセスされた場合は、クエリ文字列を返します。
$_SERVER['HTTP_ACCEPT'] 現在のリクエストからリクエスト ヘッダーを返します。