好吧,我正试图从$this->lang->line('test');
我得到另一个名为$try
的变量,其中包含值$this->lang->line('test');
。
我可以成功打印出名称$this->lang->line('test');
,但我无法打印出该变量的值。
尝试使用eval()
或$$
时,我只收到undefined variable
错误。
但是我通过成功echo $this->lang->line('test');
进行了双重检查。
那么,有谁知道如何解决这个问题?
答案 0 :(得分:2)
以下是基于您的评论的答案。
当您调用eval
时,它会评估以PHP代码形式给出的字符串。由于您致电$newVar = eval("echo $test;");
,因此值echo
为标准输出。
由于manual表示eval
的返回值,
eval()会返回
NULL
,除非在评估的代码中调用 return , 在哪种情况下,返回传递给 return 的值。如果有解析 已评估代码中的错误, eval()返回FALSE
并执行 以下代码正常继续。
如果您想从eval
ed字符串中捕获值而不是回显它,请将echo
替换为return
。
示例:
$newVar = eval("return $test;");
echo $newVar;