深く追求しないローカルorグローバル for PHP
問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
if($flg) { $hoge = 1; }
正解はローカル変数。 C++と同じですね。
では次の問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
$hoge = 0; if($flg) { $hoge = 1; }
正解はグローバル変数。
if文の外で定義しているからですね。
では最後の問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
try { $hoge = 1; } catch(Exception $e) { echo $e->getMessage(); }
ローカル変数? 違います。
正解はグローバル変数。
$hoge
はtryの外でも使えます。
だけどまあ、 グローバル変数になるかどうかはスコープによりけりなので、 そこらへんは深く追求しないで。