<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>+ </span><span>$b</span><span>;<br>}<br></span><span>Sum</span><span>();<br>echo </span><span>$b</span><span>;<br></span><span>?></span></span>
1;
$b =
;
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>] + </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>
?>
🎜🎜<?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 チュートリアルに興味のある友人に役立つことを願っています。 🎜
🎜
🎜