2014-03-02 48 views
0

我有一个循环遍历数组中的值。可以通过变量值调用匿名函数吗?

for ($i = 0; $i < count($tables); $i++) { 
    $tables[$i]['form'] = function() { 
    // function stuff 
    }; 
} 

我该如何使用数组中的值作为函数名称来调用我的函数?

+0

什么你想要这个功能吗? –

+0

是的,通过'$ tables [$ i] ['form']();' – Bram

+0

该函数为位于WordPress的管理区域的插件选项页面生成HTML。有许多选项卡允许用户查看,编辑和删除数据库表中的记录。每个函数表示不同表格的查看/编辑/删除选项。由于用户可以添加或删除自己的表格,因此需要动态生成这些页面的方式。 – Mark

回答

1

您可以直接调用它:

$tables[1]['form'](); 

或者与call_user_func

call_user_func($tables[$i]['form']); 

参数给你的函数的通行证作为附加参数传递给call_user_func()例如:

$tables[1]['form'] = function($a){echo $a;}; 
call_user_func($tables[1]['form'], 'booo'); 
//would echo out 'booo' 
相关问题