在 PHP 的 eval 函数中返回结果

3

我需要在eval函数内传递一个return $variable;,这将为函数返回一个值。

以下是示例:

function something()
{
    $sSomeVar = 'something';
    eval( 'return $sSomeVar = 3;'  );
}

上面的代码将在eval中返回3,但该函数不会返回变量的值。

那么有人知道如何在eval中返回一个return吗?


2
只想提醒一下,eval 是邪恶的。现在你已经被警告了 ;) - NikiC
3
如果eval()是你的答案,那么你几乎肯定问错了问题 - Rasmus Lerdorf - Narcis Radu
2
函数 evil($str){return eval($str);} //一个方便的封装 - sigint
1
如果您能解释一下,您的原始问题是什么,也许我们就能找到一个不使用eval的解决方案。@sigint:+1 - NikiC
该函数的代码不能被更改。eval实际上是插件类的一部分,它调用php代码并使用eval处理php代码。因此,我想使用eval返回函数(在我给出的示例中,它是函数“something”)。因此,函数中的代码不能更改,只能更改eval中的字符串。 - Ryan
显示剩余2条评论
1个回答

7
这应该可以解决问题:
function something() 
{
  $sSomeVar = 'something';
  return eval( 'return $sSomeVar = 3;' );
}

我无法重新编写该函数,因此该解决方案不可用。 - Ryan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接