2012-04-27 13 views
0

私は2つのファイルを持っています。PHPで変数をグローバル化する

first.php

$a = 'blah'; 
echo 'echo2='.$a; 

function foo(){ 
global $a; 
echo 'echo3='.$a; 
return $a; 
} 

second.php私は次の出力を得るsecond.phpファイルランニング

require_once(path/to/the/file/first.php); 
echo 'echo='.$a; 
$b = foo(); 
echo 'echo4='.$b; 

echo=blah 
echo2=blah 
echo3= 
echo4= 

を私の質問は「あると言うことができますなぜ関数fooの変数$ aにアクセスできないのですか?

+1

'require_once'と構文エラーもありますを使用しています。あなたが正確なコードを与えなければ、あなたは答えではなく、推測を得るだけです。特に関数のローカル変数スコープ内でインクルードが発生した場合、 '$ a ='宣言はグローバルにはなりません。 – mario

+0

php.iniの 'register_globals'がoffに設定されています。あなたの答えをありがとう! – Reaver

答えて

関連する問題