23,078
回編集
(→発展的な話題) |
(global演算子の効果の説明を修正。) |
||
通常、グローバル変数を関数内で使用することはできない。
また、ローカル変数を関数外で使用することはできない。
特別な指定のない限り、グローバル変数とローカル変数はお互いに干渉しない。
このような、変数の使える範囲のことを、スコープ(Scope) と呼ぶ。
function f() {
$i = 99;
print "ローカル変数{$i} <br>";
}
print "グローバル変数{$i} <br>";
?>
</syntaxhighlight>
<pre>
グローバル変数10
ローカル変数99
グローバル変数10
</pre>
しかし、下記のように
;コード例
<syntaxhighlight lang="PHP">
<?php
$i = 10;
print "グローバル変数{$i} <br>";
f();
function f() {
global $i ;
$i = 99; // 1行に global $i = 99; と まとめるとエラー
print "ローカル変数{$i} <br>";
}
print "グローバル変数{$i} <br>";
?>
</syntaxhighlight>
;実行結果
<pre>
グローバル変数10
ローカル変数99
グローバル変数99
</pre>
3行目のグローバル変数の値が 99 に置き換わっていることに注目してもらいたい。
;その他
<syntaxhighlight lang="PHP">
<?php
;実行結果
sの二乗は9801です。
|
回編集