0

私は2つのファイルを持っています。まあ言ってみれば :

最初の.php

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

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

second.php

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

second.php ファイルを実行すると、次の出力が得られます。

echo=blah
echo2=blah
echo3=
echo4=

私の質問は、「関数 foo で変数 $a にアクセスできないのはなぜですか!

4

2 に答える 2

3

に変更$globalglobalます。それはそれを修正する必要があります。

http://php.net/manual/en/language.variables.scope.php

于 2012-04-27T17:13:59.003 に答える
1

または使用

 $GLOBALS["Your_var_without_dollar_sign"];

http://php.net/manual/en/reserved.variables.globals.php

于 2012-04-27T17:16:12.077 に答える