我有一个字符串变量
$worker_name = "video_convert"
我想编写一个名称如下的
的函数function video_convert(){
}
我怎样才能在PHP中执行此操作?我试过了
function eval($worker_name){
}
或
eval($worker_name) = function(){
}
但是,似乎这不是在PHP中执行此操作的正确方法。
答案 0 :(得分:3)
你可以做为
$worker_name = 'video_convert';
$$worker_name = function() {
echo 'hi';
};
$$worker_name();
答案 1 :(得分:2)
您可以使用call_user_func
:
$worker_name ="video_convert"
function video_convert($text){
echo "Hello $text\n";
}
call_user_func($worker_name, 'World');
或者您可以按照您尝试的方式使用:
$worker_name = 'video_convert';
function video_convert(){
echo __METHOD__;
}
$worker_name();
或者像这样:
$worker_name = function($text)
{
echo 'Anonymous function call '.$text
};
$worker_name('Hello');
PHP非常灵活。
答案 2 :(得分:1)
你可以像
那样做$worker_name = "video_convert";
function video_convert(){
echo "I've called a function using variable";
}
$worker_name();
答案 3 :(得分:1)
如果你想使用eval()函数,请通过以下方式使用它: -
$worker_name = "video_convert()";
function video_convert(){
echo "Called";
}
eval("$worker_name;");