私は何時間も解決策を見つけようとしていますが、解決できません(私はプログラマーではありません))。PHPでグローバル動的変数を呼び出す方法
関数上、別の関数で使用したい動的配列を設定しました。 $ GLOBALS [] array 変数を関数から呼び出すのに問題はありませんが、関数2で使用しようとすると問題はありません。ここで
は私のコードです:
function one($name,$a,$b,$c)
{
// $GLOBALS[${$name}] = array($a,$b,$c);
global $$name;
$$name = array($a,$b,$c);
}
function two($name)
{
$name="D1";
echo ${$name}[1];
}
one("D1",10,20,30);
one("D2",100,200,300);
two("D1"); // doesn't works
$name="D1";
echo ${$name}[1]; // works, gives 20
$name="D2";
echo ${$name}[1]; // works, gives 200
それは作品と私は理由を理解していないしません。 ご協力いただきありがとうございます。
エティエンヌ
http://php.net/manual/en/language.variables.scope.php –
[参考:変数スコープとは何か、どこから変数にアクセスできますか?未定義の変数ですか?] (https://stackoverflow.com/questions/16959576/reference-what-is-variable-scope-which-variables-are-accessible-from-where-and) – GrumpyCrouton
'global $ name;'を使用すると簡単になる可能性があります – PaulH