我有一個字符串變量寫作功能名稱作爲一個字符串變量的值
$worker_name = "video_convert"
我想寫跟我怎樣才能做到這一點的名稱,如以下
function video_convert(){
}
功能PHP?我試圖
function eval($worker_name){
}
或
eval($worker_name) = function(){
}
但是,現在看來似乎不是這樣做在PHP的正確方法。
我有一個字符串變量寫作功能名稱作爲一個字符串變量的值
$worker_name = "video_convert"
我想寫跟我怎樣才能做到這一點的名稱,如以下
function video_convert(){
}
功能PHP?我試圖
function eval($worker_name){
}
或
eval($worker_name) = function(){
}
但是,現在看來似乎不是這樣做在PHP的正確方法。
你可以做到這一點作爲
$worker_name = 'video_convert';
$$worker_name = function() {
echo 'hi';
};
$$worker_name();
你可以做有點像爲
$worker_name = "video_convert";
function video_convert(){
echo "I've called a function using variable";
}
$worker_name();
你可以使用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();
OR這樣的:
$worker_name = function($text)
{
echo 'Anonymous function call '.$text
};
$worker_name('Hello');
PHP是靈活的。
如果你想使用eval()函數,然後通過下面的方式來使用它: -
$worker_name = "video_convert()";
function video_convert(){
echo "Called";
}
eval("$worker_name;");
什麼是你想怎麼辦?爲什麼要調用你想要的方式? –
你想從本質上隨機化你的函數的名字?這是一個壞主意。做什麼的‽ – deceze