说我有这个
$src = "function($message) { echo $message; }"
我正在寻找一种在运行时将源字符串转换为实际函数的方法,类似于
$say_message = magic_command($src);
$say_message("hello");
但我还没有办法做到这一点。
如果您正在考虑目的,我将从大字符串中提取数据。为了更简单地改变程序,我创建了一种中间语言(正则表达式真的不会在这里做),我现在正在评估它。我想把程序变成一个php本机函数可能会加快处理..值得一试。安全性不是问题,我是唯一一个使用它的人。
答案 0 :(得分:1)
$src = '$say_message = function($message) { echo $message; };';
eval($src);
$say_message("hello");
这是让$ say_message通过字符串作为函数运行的实际方法,您必须使用eval()
,确保在代码中添加正确的;
还有另一种方法可以使用create_function()
$say_message = create_function('$message','echo $message;');
$say_message("hello");