0

次のように、変数変数を介してのみ正しくアクセスできる配列があります。

$foo['bar'] = "pie";

$fixed_name_variable = "foo['bar']";

echo $$fixed_name_variable;

Theroy エコーのpie. 何も返さないことを除いて。したがって、このアプローチが実際に機能するかどうか、または再考する必要があるかどうかを知る必要があります。

ただ気づいた。2 行目で、バーを引用符で囲む必要がありますか?

4

3 に答える 3

1

私はこの行動を助長するのは嫌いevalですが、限られた範囲で目的を達成するために使用できます。

$foo['bar'] = "pie";
$fixed_name_variable = "foo['bar']";

$a = eval("return $$fixed_name_variable;"); 
echo $a; //outputs "pie"
于 2011-02-21T11:27:33.893 に答える
0

$foo[$key_var]私があなたの質問を誤解しない限り、うまくいくはずですか?

于 2011-02-21T11:20:58.387 に答える
0

いいえ、これは不可能だと思います。(明らかに)可能な唯一のことは、可変インデックスを使用して、にアクセスすること$foo[$bar]です。

ただし、変数変数を使用することは、通常、とにかく非常に悪い習慣です。特に、デバッグや自動ドキュメント化/変数検索が非常に困難になるためです。通常はそれらを使用せず、代わりに配列を使用するのが最善です。

于 2011-02-21T11:21:08.960 に答える