« PHP:require()関数・require_once()関数 | メイン | PHP:substr_replace()関数 »
2005年10月17日
PHP:global
globalは、グローバル変数を宣言します。
functionで作成したユーザー定義関数内で使用された変数は、functionの外では通常使用できません。同じように、functionの外で作成された変数は、function内では通常使用できません。そういった場合に、globalを宣言して、変数がグローバル変数であることを宣言します。
<?php
$name = "STUDIO WING";
printName(); //ユーザー定義関数を実行
function printName(){
print $name;
}
?>
上記の場合では、変数$nameがfunctionの外で定義されているので、printName()の結果、何も出力されません。関数printName()内で変数$nameを認識させるには次のようにします。
<?php
$name = "STUDIO WING";
printName(); //ユーザー定義関数を実行
function printName(){
global $name;
print $name;
}
?>
※上記の結果、「STUDIO WING」が出力されます。
■上記とは逆に、ユーザー定義関数内で設定した変数を、ユーザー定義関数外で使用したい場合には、スーパーグローバル変数「$GLOBAL」を使用します。
function setNum($num){
$newNum = $num*1000;
$GLOBAL['newNum'] = $newNum;
}
setNum(5);
print $newNum;
※上記の結果、「5000」を出力します。
※$GLOBALの注意点
・$GLOBALは他のスーパーグローバル変数$_SERVERなどのように「_」(アンダースコア)が入らないので注意してください。
・$GLOBALの設定方法は、function内で「$GLOBAL["使用したい変数名"]」という風に設定します。
投稿者 wing : 2005年10月17日 22:20