Web Artisan Blog - ウェブ アルチザン ブログ

PHP:変数のスコープ:グローバル変数を使う際の注意点:global

PHP

2005年03月02日

アフィリエイトから企業サイト分析まで。訪問者の動きがまるわかりのアクセス解析サービス「リサーチアルチザンプロ」

LINEやSkypeみたいなビデオ通話がブラウザだけでできる!オンライン通話サービス「EZ-Interview - イージーインタビュー」

PHPにもグローバル変数が存在します。
それについての使用方法なんかはマニュアルに書いてまして、
まあこれを見れば意味はわかるんですが、

>変数のスコープ


結局、注意すべき点は下記一文です。。

PHPでは、グローバル変数は、関数の内部で使用する場合、関数の内部でグローバルとして宣言する必要があります。


以下、マニュアルから、まんま抜粋しましたが、
変数「$a」をグローバル変数と扱いたい場合は、

この例ではダメで、

<?php
$a = 1; /* グローバルスコープ */ 

function Test() { 
   echo $a; /* ローカルスコープ変数の参照 */ 


Test();
?> 



この例のように、参照する側(関数側)にglobalをつける事ですね。

<?php
$a = 1;
$b = 2;

function Sum() 
{
   global $a, $b;

   $b = $a + $b;


Sum();
echo $b;
?> 




あんまグローバル変数を使い過ぎると、解りにくくなる場合もあります。
注意して使いたいところです。。

Web面接に最適。ブラウザだけでビデオ/音声通話ができるオンライン通話サービス。「EZ-Interview - イージーインタビュー」
訪問者録画機能も付いたシンプルで高機能なリアルタイムアクセス解析「リサーチアルチザンプロ」