-2

好吧,所以我试图从中获取价值$this->lang->line('test');

我得到了另一个名为$try的变量,其中包含值$this->lang->line('test');

我可以成功地让它打印出 name $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()返回NULL,除非在评估代码中调用return,在这种情况下,返回传递给return的值。如果评估代码中存在解析错误,则eval()返回FALSE并继续正常执行以下代码。

如果您想从evaled 字符串中捕获值而不是回显它,请替换echoreturn.

例子:

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