目次
1. グローバル変数 $GLOBALS
ホームページ バックエンド開発 PHPチュートリアル PHP のグローバル変数 $GLOBALS と global の違い

PHP のグローバル変数 $GLOBALS と global の違い

Jun 20, 2016 pm 01:04 PM
PHP変数

この記事では、PHP のグローバル変数 $GLOBALS と global の違いについて説明します。

1. グローバル変数 $GLOBALS

PHP には多くのグローバル変数があります。

$GLOBALS、$_SERVER、$_GET、$_POST、$_FILES です。 、$_COOKIE、$_SESSION、$_REQUEST、$_ENV。

公式説明: $GLOBALS — グローバル スコープで使用可能なすべての変数を指します。すべての変数を含むグローバル結合配列。変数の名前は配列のキーです。つまり、出現したグローバル変数は $GLOBALS 配列を通じて取得できます。

PHP ライフサイクルでは、関数本体の外で定義されたいわゆるグローバル変数を関数内で直接取得することはできません。

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

上記の例では、外部 $foo にアクセスするには、$GLOBALS 配列を使用する必要があります。これは、インクルード ファイルを介して取り込まれる外部グローバル変数にも当てはまります。 PHP の

Global にもそのような関数があります。$GLOBALS との違いは、global は、関数の実際の外部変数ではなく、関数の外部変数を指すエイリアス変数を関数内に生成することです。関数。 $GLOBALS[] は実際には外部変数と呼ばれ、関数の内部と外部で常に一貫性を保ちます。

クラス内のメンバー変数の場合、クラス内の関数は $this-> メソッドを使用してアクセスする必要があり、$GLOBALS メソッドは使用できません。 global の役割はグローバル変数を定義することですが、このグローバル変数は Web サイト全体ではなく、現在のページ (include または require 内のすべてのファイルを含む) に適用されます。

2. 例の説明

<p>function t1(){</p>    global $var1,$var2;<br />    $var2=&$var1;<br />}<br />function t2(){<br />    $GLOBALS['var3']=&$GLOBALS['var1'];<br />}<br />$var1=5;<br />$var2=$var3=0;<br />t1();<br />print $var2."\n";<br />t2();<br /><p>print $var3."\n";</p>
ログイン後にコピー
実行結果は次のとおりです:

0

5

なぜ 2 つの 5 ではなく、1 つの 0 と 1 つの 5 なのでしょうか?

例を再度変更します:

<p>function t1(){</p>    global $var1;<br />    $var1=2;<br />    unset($var1);<br />}<br />function t2(){<br />    $GLOBALS['var1']=3;<br />    unset($GLOBALS['var1']);<br />}<br />$var1=1;<br />t1();<br />print $var1."\n";<br />t2();<br /><p>print $var1."\n";</p>
ログイン後にコピー
実行結果には 2;

1 のみが入ります。 is 定義されたすべてのグローバル変数から自動的に形成される配列。変数名は配列のインデックスです。つまり、$GLOBALS['var1'] は関数外の変数 $var1 と同じ変数であるため、$GLOBALS['var1'] が削除されると、変数は存在しなくなり出力できなくなります。

注: $GLOBALS は自動グローバル変数です。これは、すべてのスクリプトで機能することを意味します。関数またはメソッド内でグローバル $GLOBALS を使用してアクセスする必要はありません。

2. 「global $var1;」は、関数の外で $var1 を生成するエイリアス変数です。関数の内部にのみ存在します。関数 エイリアス変数を削除しても外部変数には影響しませんが、関数の外部変数の値は変更できます。

おそらく、これとあれの違いを常に知りたいと考えている人もいるでしょう。他のプログラムも含めて、PHP プログラムを学習するときは、オンラインで検索するよりも自分で実験して、結果に基づいて考えることができます。 、より正確です。

PHP がグローバル スコープ内の変数にアクセスするときに何をすべきかについて話しましょう。

例 1:

global はグローバル変数を定義します。

<p>function test_global(){</p>    global $var1;<br />    $var1='ok';<br />    unset($var1);<br />}<br />test_global();<br />$var2=&$var1;<br />unset($var1);<br /><p>echo $var2;</p>
ログイン後にコピー
結果を与えずにプログラムを自分で実行します。関数内の変数にアクセスできます。

結果から分かるように、unset は変数名と変数値を切り離すだけであり、変数値を直ちに破棄するわけではありません。また、関数内で定義されたグローバル変数は実際には関数内のエイリアスのみを使用します。これで外部から $var1 にアクセスできるようになります。

例 2: $GLOBALS は、関数内で関数の外で定義された変数にアクセスします。

<p>$waibu='out';</p>function ff(){<br />    echo $GLOBALS['waibu'];<br />}<br /><p>ff();</p>
ログイン後にコピー
関数内で $waibu を直接使用するとエラーになります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHP 注意: 未定義の変数: 解決策 PHP 注意: 未定義の変数: 解決策 Jun 25, 2023 pm 04:18 PM

PHP 開発では、PHP Notice:Unknownvariable というエラー メッセージが頻繁に発生します。このエラー メッセージは、コード内で未定義の変数が使用されたことを意味します。このエラー メッセージによってコードがクラッシュすることはありませんが、コードの可読性と保守性に影響します。以下、この記事ではこのエラーを解決するいくつかの方法を紹介します。 1. 開発プロセス中に error_reporting(E_ALL) 関数を使用します。PHP 開発では、次のことができます。

PHP 注意: 未定義の変数: ソリューション内の arr PHP 注意: 未定義の変数: ソリューション内の arr Jun 22, 2023 am 10:21 AM

PHP Notice:Unknownvariable:arrin の解決策 PHP プログラミングでは、「 Notice:Unknownvariable」というエラー メッセージが頻繁に表示されます。このエラー メッセージは通常、未定義の変数にアクセスしたか、変数が初期化されていないことが原因で発生します。この問題については、問題を見つけて時間内に解決する必要があります。この記事では、PHP Notice:Undefin に焦点を当てます。

PHP で数値変数を使用する方法 PHP で数値変数を使用する方法 Sep 13, 2023 pm 12:46 PM

PHP で数値変数を使用する方法 PHP では、数値変数は、宣言せずに直接使用される変数の型です。数値変数を使用して、数学的計算、データ比較、その他の数値演算を実行できます。この記事では、PHP で数値変数を使用する方法を説明し、具体的なコード例を示します。数値変数の定義 PHP では、数値変数の定義は非常に簡単で、変数に直接数値を割り当てるだけです。以下に例を示します: $number=10; 上記のコードでは、$numb という値を定義します。

PHP 変数の未定義エラーをすばやく排除するにはどうすればよいですか? PHP 変数の未定義エラーをすばやく排除するにはどうすればよいですか? Dec 17, 2023 am 10:23 AM

PHP 変数の未定義エラーをすばやく排除するにはどうすればよいですか? PHP 開発では、未定義変数エラーがよく発生します。これは、コード内で未割り当ての変数が使用されているためです。この種のエラーが発生した場合、エラーの原因を迅速に特定して解決する必要があります。ここでは、PHP 変数の未定義エラーを迅速にトラブルシューティングして、エラーをより迅速に見つけて修正するためのいくつかの方法を示します。エラーレポートをオンにする: エラーレポートをオンにすると、PHP は変数未定義エラーを含むすべてのエラーおよび警告メッセージを表示します。コードを開くことでこれを行うことができます

PHP 注意: 未定義の変数: SQL ソリューション PHP 注意: 未定義の変数: SQL ソリューション Jun 23, 2023 am 08:51 AM

PHP アプリケーションを開発するときに、「未定義の変数: sql」というプロンプトが表示された場合は、通常、未定義の変数を参照していることを意味します。これには、変数名のスペルミス、スコープの問題、コード内の構文エラーなど、さまざまな理由が考えられます。この記事では、この問題のさまざまな原因を調査し、それを解決するいくつかの方法を提供します。 1. 変数名のスペルが間違っている PHP コード内で変数名が間違っているか、スペルが間違っている場合、システムは

PHP変数を参照によって渡す方法 PHP変数を参照によって渡す方法 Aug 26, 2023 am 09:01 AM

PHP では、アンパサンド (&) 記号を使用して、値ではなく参照によって変数を渡すことができます。これにより、関数またはメソッド内で元の変数を変更できるようになります。 PHP 変数を参照渡しするには、主に 2 つの方法があります。 アンパサンド記号を使用する 関数/メソッド宣言でアンパサンド記号を使用する 関数/メソッド宣言でアンパサンド記号を使用する 関数/メソッドに変数を渡す場合、PHP では関数/ アンパサンド記号 ( &) メソッド宣言で変数を参照渡しします。更新された説明は次のとおりです。関数/メソッド宣言で & 記号を使用して参照変数を渡すには、関数/メソッド定義のパラメーター名の前に & 記号を含める必要があります。これは、パラメーターが参照によって渡される必要があることを示します。

PHP に関する解決策 注意: 未定義の変数: 結果 PHP に関する解決策 注意: 未定義の変数: 結果 Jun 22, 2023 pm 01:32 PM

PHP Notice:Unknownvariable:result は、PHP プログラムで未定義変数の結果が呼び出され、プログラムが通知レベルの警告を生成することを意味します。この状況は通常、プログラマが PHP コードを作成するときに変数または変数のスコープを正しく定義していないことが原因で発生します。この通知レベルの警告が時間内に解決されない場合、プログラムの動作に問題が発生する可能性があります。したがって、PHP Notice を解決する方法は次のとおりです。

PHP プログラミングで一般的な変数は何ですか? PHP プログラミングで一般的な変数は何ですか? Jun 12, 2023 am 10:06 AM

PHP プログラミングでは、変数は値を保存する基本単位であり、プログラム実行中にデータを保存および使用するために使用されます。 PHP では、変数に整数、浮動小数点、文字列、配列などのさまざまなデータ型を割り当てることができます。この記事では、PHP プログラミングにおける一般的な変数とその使用法を紹介します。単純変数は最も一般的な変数タイプであり、整数、浮動小数点数、文字列などの通常のデータ型を格納できます。 PHP では、未定義の変数の初期値は NULL です。以下にいくつかの例を示します。 整数変数: $

See all articles