PHPを使ってグローバル変数を宣言し、関数内で使用したいと考えています。PHPの関数の中からグローバル変数にアクセスする
私が試してみました:
$var = "something";
function foo()
{
echo $var;
}
をまだ私は$var
が未定義であるというエラーを受け取ります。
どうすればこの問題を解決できますか?
PHPを使ってグローバル変数を宣言し、関数内で使用したいと考えています。PHPの関数の中からグローバル変数にアクセスする
私が試してみました:
$var = "something";
function foo()
{
echo $var;
}
をまだ私は$var
が未定義であるというエラーを受け取ります。
どうすればこの問題を解決できますか?
$var = "something";
function foo()
{
global $var;
echo $var;
}
関数スコープ外で宣言された変数を使用する必要がある場合は、「グローバル」という用語を使用してください。
PHP変数には機能範囲があります。つまり、関数内の変数は外部からはアクセスできず、グローバル変数は内部関数から(デフォルトでは)アクセスできません。関数内でglobal
キーワードを使用して変数をインポート/エクスポートすると、ソリューションになりますが、これを行うべきではありません。関数は自己完結型でなければなりません。関数内で値が必要な場合は、pass it as a parameter、関数がグローバル値を変更する必要がある場合は、関数からの値をreturn
にします。
例:
function foo($arg)
{
echo $arg;
}
$var = "something";
foo($var);
お読みください:http://php.net/manual/en/language.variables.scope.php
を推奨アプローチは、一般的に、例えば、 "あることをしない" だろうhttp://stackoverflow.com/questions/484635/are-global-variables-bad –