好的,所以我正在尝试从$this->lang->line('test');
中获取值
我得到了另一个名为$try
的变量,它包含值$this->lang->line('test');
。
我可以成功地让它打印出名称$this->lang->line('test');
,但我无法让它打印该变量的值。
当尝试使用eval()
或$$
时,我只得到一个undefined variable
错误。但我已经仔细检查过了,成功地完成了echo $this->lang->line('test');
。
那么,有人知道如何解决这个问题吗?
以下是基于您的评论得出的答案。
当您调用eval
时,它会计算作为PHP代码给出的字符串。由于您调用$newVar = eval("echo $test;");
,因此值为标准输出的echo
。
如手册所述eval
的返回值,
eval()返回
NULL
,除非在评估的代码中调用return在这种情况下,返回传递给return的值。如果有解析计算代码中的错误,eval()返回FALSE
和以下代码正常继续。
如果要从eval
ed字符串中捕获值而不是回显它,请将echo
替换为return
。
示例:
$newVar = eval("return $test;");
echo $newVar;