这让我很烦。理论上它应该很容易,但我并不生活在理论上。
基本上,我可以选择设置自定义算法来制作字符串或 int 的“代码”。
这是用户生成的,然后我称之为。
我尝试使用以下代码执行它:
$code = eval('return($custalg);');
但这会返回输入的实际算法,而不是它会产生的值。
所以我的问题是,我将如何设法将 $custalg 中的字符串作为 php 执行,然后将结果保存到变量中?
'
看起来您不知道 PHP 中单引号和双引号"
字符串之间的区别。你应该使用:
$code = eval("return($custalg);");
如果你想$custalog
扩大:
双引号字符串最重要的特性是变量名将被扩展。有关详细信息,请参阅字符串解析。
因此,基本上正确的语法取决于$custalg
分配的内容和位置。在你的情况下,我猜你$custalg
是在主代码中分配的,所以你不想替换。然后使用这样的代码:
$code = eval("return \$custalg;");
您可以使用PHP 输出控制函数获得回显输出:
ob_start();
eval("echo $custalg;");
$tmp = ob_get_contents();
ob_end_clean();
$evalOutput = $tmp;
或者您只需将返回值分配给全局变量。