ホームページ バックエンド開発 PHPチュートリアル PHPのグローバルグローバル変数の使い方

PHPのグローバルグローバル変数の使い方

Jun 19, 2017 pm 04:16 PM
global php 全体的な状況 変数

グローバル変数と「グローバル」キーワード

PHP はデフォルトでいくつかの「スーパーグローバル」変数を定義しており、これらの変数は自動的にグローバル化され、$_GET や $_REQUEST など、 プログラム内のどこからでも呼び出すことができます。通常、これらの変数はデータまたはその他の外部データから取得されますが、これらの変数は基本的に書き込み可能ではないため、通常は使用しても問題は発生しません。 ただし、独自のグローバル変数を使用することもできます。キーワード「global」を使用すると、グローバル データを 関数のローカル スコープにインポートできます。 「変数の使用範囲」がわからない場合は、PHP マニュアル の関連する手順を参照してください。 「global」キーワードを使用したデモ例を次に示します:

<?php
$my_var = &#39;Hello World&#39;;
test_global();
function test_global() {
    // Now in local scope
     // the $my_var variable doesn&#39;t exist
     // Produces error: "Undefined variable: my_var"
    echo $my_var;
    // Now let&#39;s important the variable
    global $my_var;
    // Works:
    echo $my_var;
}
?>
ログイン後にコピー

上の例でわかるように、「global」キーワードはグローバル変数をインポートするために使用されます。うまく機能し、シンプルであるように見えますが、グローバル データを定義するために「global」キーワードを使用することをなぜ心配するのでしょうか?

業界に不慣れな方にグローバル変数の使用法を説明しましょう。この名詞の「グローバル」という 2 つの単語から、この変数がどこでも使用できることがわかります。まず例を見てみましょう。 :

<?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b; //在里面声明为全局变量
    $b = $a + $b;
}
Sum();
echo $b;
?>
ログイン後にコピー
結果: 3グローバル変数globalが無い場合、メソッド内で$aと$bの値を取得できないため、メソッド内で外部変数を使用したい場合は、この変数を最初にグローバル変数として宣言しておくと、非常に便利です。

<?PHP
      $w3sky = 1;
      $w3sky2 = 2;
function Sum()
       {
       global $w3sky, $w3sky2;$w3sky2 = $w3sky + $w3sky2;
       }Sum();
       echo $w3sky2;
       ?>
ログイン後にコピー

上記のスクリプトの出力は「3」になります。グローバル変数 $w3sky と $w3sky2 は関数内で宣言されており、任意の変数のすべての参照変数はグローバル変数を指します。 PHP では、関数が宣言できるグローバル変数の最大数に制限はありません。

グローバル スコープ内の変数にアクセスする 2 番目の方法は、特別な PHP カスタム $GLOBALS 配列を使用することです。前の例

は次のように記述できます:

例 $GLOBALS を使用して global

<?PHP
       $w3sky = 1;
       $w3sky2 = 2;function Sum()
       {
       $GLOBALS[&#39;w3sky&#39;] = $GLOBALS[&#39;w3sky&#39;] + $GLOBALS[&#39;w3sky2&#39;];
       }Sum();
       echo $w3sky2;
       ?>
ログイン後にコピー
を置き換えます $GLOBALS 配列では、各変数は要素であり、キー名は変数名

に対応し、値は対応します変数の内容

。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。次の例は、スーパー グローバル変数の使用方法を示しています。

スーパー グローバル変数とスコープの例を示す例

<?PHP
       function test_global()
       {
       // 大多数的预定义变量并不 "super",它们需要用 &#39;global&#39; 关键字来使它们在函
数的本地区域中有效。
       global $HTTP_POST_VARS;echo $HTTP_POST_VARS[&#39;name&#39;];// Superglobals 在任何
范围内都有效,它们并不需要 &#39;global&#39; 声明。Superglobals 是在 PHP 4.1.0 引入的。
       echo $_POST[&#39;name&#39;];
       }
       ?>
ログイン後にコピー

global つまり、ファイル内でグローバル $db として宣言している限り、その宣言の下にあります。これで、この $db

出力を参照できるようになります:
ABCDEFGHIJ         //第一次循环依次打印10个大写字母
Now I know 10 letters
Now I&#39;ve made 11 function call(s).       //第二次由于条件大于10则不执行循环

Now I know 11 letters
Now I&#39;ve made 12 function call(s).
ログイン後にコピー
変数のグローバル宣言により、$count 変数は 1 つだけになり、 が呼び出されたときに関数の内部と外部の両方でインクリメントされます。 2 回目 SayMyABCs2() のとき、$count はすでに 11 なので、文字を印刷するループにはまったく入りません。関数 内で定義された 変数のスコープは、デフォルトではその関数に制限されます。グローバル宣言を使用すると、変数名を環境内と同じ名前にする必要があることを PHP に通知できます。機能の外にあります。宣言形式: global,

$count1,$count2,...,$countn; 一方、

global は、特に PHP がコードを実行する前にそれぞれに関連付けることができるいくつかの変数を提供するため便利です

ページ上では、関数がこれらの変数を参照できるようになり、呼び出されるたびに変数を関数にパラメータとして渡す


というトラブルが解消されます

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles