ホームページ > バックエンド開発 > PHPチュートリアル > PHP での global キーワードと $GLOBALS の使用法

PHP での global キーワードと $GLOBALS の使用法

WBOY
リリース: 2016-08-08 09:19:33
オリジナル
1156 人が閲覧しました

<span><span><?php<br>$a </span><span>= </span><span>1</span><span>; </span><span>/* <span>global</span> scope */<br></span><span>function </span><span>Test</span><span>()<br>{<br> echo </span><span>$a</span><span>; </span><span>/* reference to local scope variable */<br></span><span>}<br></span><span>Test</span><span>();<br></span><span>?></span></span>

echo ステートメントは変数 $a のローカル バージョンを参照しており、このスコープ内の値が割り当てられていないため、このスクリプトは出力を生成しません。 PHP のグローバル変数は C 言語とは少し異なることに気づくかもしれません。C 言語では、ローカル変数によってオーバーライドされない限り、グローバル変数は関数内で自動的に有効になります。これにより問題が発生する可能性があり、誰かが誤ってグローバル変数を変更してしまう可能性があります。 PHP のグローバル変数は次のように宣言する必要があります。 グローバル

globalキーワード

まず、globalを使用した例:

例 #1 global

<code><span><span><?php<br>$a </span><span>= </span><span>1</span><span>;<br></span><span>$b </span><span>= </span><span>2</span><span>;<br>function </span><span>Sum</span><span>()<br>{<br> <span>global</span> </span><span>$a</span><span>, </span><span>$b</span><span>;<br> </span><span>$b </span><span>= </span><span>$a </span><span>&#43; </span><span>$b</span><span>;<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?></span></span>

$a

=

1;
$b =

を使用します2

;
functionsum

()
{

global

$a$b

;

$b<span><span><?php<br>$a </span><span>= </span><span>1</span><span>;<br></span><span>$b </span><span>= </span><span>2</span><span>;<br>function </span><span>Sum</span><span>()<br>{<br> </span><span>$GLOBALS</span><span>[</span><span>'b'</span><span>] = </span><span>$GLOBALS</span><span>[</span><span>'a'</span><span>] &#43; </span><span>$GLOBALS</span><span>[</span><span>'b'</span><span>];<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?>=$ a <p><var>+ <var></var>$b</var><var>;<br>}<br><var></var>Sum</var></p>();<br>エコー <p></p> <p>$b</p> <p>;<br></p> <p><code><span><span><?php<br></span><span>function </span><span>test_<span>global</span></span><span>()<br>{<br> </span><span>// 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域中有效。<br> </span><span><span>global</span> </span><span>$HTTP_POST_VARS</span><span>;<br> echo </span><span>$HTTP_POST_VARS</span><span>[</span><span>'name'</span><span>];<br> </span><span>// Superglobals 在任何范围内都有效,它们并不需要 'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。<br> </span><span>echo </span><span>$_POST</span><span>[</span><span>'name'</span><span>];<br>}<br></span><span>?></span></span>?>

上記スクリプトの出力は「3」となります。グローバル変数

$a🎜🎜 と 🎜🎜$b🎜🎜 が関数内で宣言されると、どちらかの変数へのすべての参照はそのグローバル バージョンを指すようになります。 PHP では、関数が宣言できるグローバル変数の最大数に制限はありません。 🎜🎜グローバル スコープ内の変数にアクセスする 2 番目の方法は、特別な PHP カスタマイズを使用することです 🎜🎜$GLOBALS 🎜🎜配列。前の例は次のように記述できます: 🎜🎜🎜Example #2 using 🎜🎜$GLOBALS 🎜グローバル🎜🎜🎜🎜🎜🎜<?php<br>$a 🎜🎜= 🎜🎜1🎜🎜;<br>🎜🎜$b 🎜🎜= 🎜;< br >関数 🎜🎜Sum🎜🎜()<br>{<br> 🎜🎜$GLOBALS🎜🎜[🎜🎜'b'🎜🎜] = 🎜🎜$GLOBALS🎜🎜[🎜🎜'a'🎜🎜] + 🎜 🎜 $GLOBALS🎜🎜[🎜🎜'b'🎜🎜];<br>}<br>🎜🎜Sum🎜🎜();<br>エコー 🎜🎜$b🎜🎜;<br>🎜🎜?>🎜 🎜 🎜🎜🎜🎜🎜🎜$GLOBALS 🎜🎜 は連想配列であり、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 🎜🎜$グローバル 🎜🎜 $GLOBALS はスーパーグローバル変数であるため、グローバル スコープに存在します。次の例は、スーパーグローバル変数の使用を示しています。 🎜🎜🎜例 #3 スーパーグローバル変数とスコープを示す例 🎜🎜🎜🎜🎜<?php<br>🎜🎜function 🎜🎜test_🎜global🎜🎜🎜()<br>{<br> 🎜🎜 // ほとんどの事前定義変数は「スーパー」ではないため、関数のローカル スコープで有効にするには「global」キーワードを使用する必要があります。 <br> 🎜🎜🎜global🎜 🎜🎜$HTTP_POST_VARS🎜🎜;<br> echo 🎜🎜$HTTP_POST_VARS🎜🎜[🎜🎜'name'🎜🎜];<br> 🎜 🎜// スーパーグローバルはどのスコープでも有効です、彼らは「グローバル」宣言は必要ありません。スーパーグローバルは PHP 4.1.0 で導入されました。 <br> 🎜🎜エコー 🎜🎜$_POST🎜🎜[🎜🎜'名前'🎜🎜];<br>}<br>🎜🎜?>🎜🎜🎜🎜🎜🎜 🎜 上記では、PHP での global キーワードと $GLOBALS の使用法を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート