「PHP/入門/関数とは」の版間の差分

global演算子の効果の説明を修正。
(global演算子の効果の説明を修正。)
通常、グローバル変数を関数内で使用することはできない。
また、ローカル変数を関数外で使用することはできない。
 
特別な指定のない限り、グローバル変数とローカル変数はお互いに干渉しない。
 
このような、変数の使える範囲のことを、スコープ(Scope) と呼ぶ。
 
function f() {
$i = 99;
print "ローカル変数{$i} <br>";
}
 
print "グローバル変数{$i} <br>";
 
?>
</syntaxhighlight>
<pre>
グローバル変数10
ローカル変数99
グローバル変数10
</pre>
 
 
 
しかし、下記のように global 宣言子を使うと、関数内でもからグローバル変数を使用す書き換えることができる。
 
;コード
<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です。
 
 
関数 f() の1行目の global に注目してほしい。
こうすることにより、グローバル変数を関数内で使用することができるようになる。
 
 
23,078

回編集