-2

さて、私はから値を取得しようとしています$this->lang->line('test');

$try値を含む、という別の変数を取得しました$this->lang->line('test');

名前を正常に出力させることは$this->lang->line('test');できますが、その変数の値を出力させることはできません。

eval()、、またはを試してみると$$undefined variableエラーが発生します。しかし、私はecho $this->lang->line('test');成功を収めることによって、再確認しました。

それで、これがどのように解決できるか誰かが知っていますか?

4

1 に答える 1

2

これがあなたのコメントに基づく答えです。

を呼び出すとeval、PHPコードとして指定された文字列が評価されます。を呼び出す$newVar = eval("echo $test;");ので、値はecho標準出力に編集されます。

の戻り値についてマニュアルevalに記載されているように、

eval()は、評価されたコードでreturnNULLが呼び出されない限り戻ります。呼び出された場合、 returnに渡された値が返されます。評価されたコードに解析エラーがある場合、eval()が返され、次のコードの実行が正常に続行されます。FALSE

evalエコーするのではなく、ed文字列から値をキャプチャする場合は、に置き換えechoますreturn

例:

$newVar = eval("return $test;");
echo $newVar;
于 2012-07-16T18:59:41.340 に答える