PHP グローバル変数 - スーパーグローバル変数

巴扎黑
リリース: 2016-11-12 09:45:25
オリジナル
1064 人が閲覧しました

PHP グローバル変数 - スーパーグローバル変数

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

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

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

このセクションではいくつかを紹介しますスーパーグローバル変数と他のスーパーグローバル変数については、後の章で説明します。

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

$GLOBALS このグローバル変数は、PHP スクリプト内のどこからでも (関数またはメソッドから) グローバル変数にアクセスするために使用されます。

PHP は、すべてのグローバル変数を $GLOBALS[index] という配列に保存します。変数の名前は配列のキーです。

次の例は、スーパーグローバル変数 $GLOBALS の使用方法を示しています:

<?php 
$x = 75; 
$y = 25;
 
function addition() { 
  $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; 
}
 
addition(); 
echo $z; 
?>
ログイン後にコピー

実行例

上記の例では、z は $GLOBALS 配列内の変数であるため、関数の外部からアクセスすることもできます。

PHP $_SERVER

$_SERVER このスーパーグローバル変数は、ヘッダー、パス、スクリプトの場所に関する情報を保持します。

次の例は、$_SERVER でいくつかの要素を使用する方法を示しています:

<?php 
echo $_SERVER[&#39;PHP_SELF&#39;];
echo "<br>";
echo $_SERVER[&#39;SERVER_NAME&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_HOST&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_REFERER&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];
echo "<br>";
echo $_SERVER[&#39;SCRIPT_NAME&#39;];
?>
ログイン後にコピー

実行例

次の表は、$_SERVER でアクセスできる最も重要な要素を示しています:

要素/コードの説明

$_SERVER ['PHP_SELF'] は、現在実行中のスクリプトのファイル名を返します。

$_SERVER['GATEWAY_INTERFACE'] は、サーバーが使用する CGI 仕様のバージョンを返します。

$_SERVER['SERVER_ADDR'] は、スクリプトが現在実行されているサーバーの IP アドレスを返します。

$_SERVER['SERVER_NAME'] は、スクリプトが現在実行されているサーバーのホスト名 (www.w3school.com.cn など) を返します。

$_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'] は、現在のリクエストからリクエスト ヘッダーを返します。

$_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 $_REQUEST

PHP $_REQUEST は、HTML フォームによって送信されたデータを収集するために使用されます。

以下の例は、入力フィールドと送信ボタンのあるフォームを示しています。ユーザーが送信ボタンをクリックしてフォームデータを送信すると、

タグのaction属性で指定したスクリプトファイルにフォームデータが送信されます。この例では、フォーム データを処理するファイル自体を指定します。フォームデータを処理するために他の PHP ファイルを使用する必要がある場合は、ファイル名を任意のファイル名に変更してください。次に、スーパー グローバル変数 $_REQUEST を使用して、入力フィールドの値を収集できます。

Instance

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_REQUEST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
ログイン後にコピー

実行例

PHP $_POST

PHP $_POST は、method= を送信した後に HTML フォームを収集するために広く使用されています。 「post」フォームデータ。 $_POST は、変数を渡すためにもよく使用されます。

以下の例は、入力フィールドと送信ボタンのあるフォームを示しています。ユーザーが送信ボタンをクリックしてデータを送信すると、タグのaction属性で指定したファイルにフォームデータが送信されます。この例では、フォーム データを処理するファイル自体を指定します。別の PHP ページを使用してフォーム データを処理する場合は、ファイル名を任意のファイル名に変更します。次に、スーパーグローバル変数 $_POST を使用して、入力フィールドの値を収集できます:

Instance

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_POST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
ログイン後にコピー

Run Instance

PHP $_GET

PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。

$_GET 也可以收集 URL 中的发送的数据。

假设我们有一张页面含有带参数的超链接:

<html>
<body>
<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
</body>
</html>
ログイン後にコピー

当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。

下面的例子是 "test_get.php" 中的代码:

实例

<html>
<body>
<?php 
echo "Study " . $_GET[&#39;subject&#39;] . " at " . $_GET[&#39;web&#39;];
?>
</body>
</html>
ログイン後にコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!