在循环中创建函数,其中包含php中数组中元素的名称

时间:2014-03-02 12:10:30

标签: php arrays function for-loop

我正在尝试构建一个包含允许用户编辑,查看和删除mySQL表中记录的表单的网站。我已经成功了。现在我希望用户能够添加新的表单和表,但是我需要能够根据数组中的元素创建名称的函数。

下面的代码不起作用,但还有其他的吗?

for ($i=0;$i<count($tables);$i++) {

function $tables[$i][form]() {
}
// do something
}

3 个答案:

答案 0 :(得分:1)

使用匿名函数:

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

然后你将其中一个函数称为:

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

答案 1 :(得分:0)

这是一个想法。有一个函数并将这些项作为参数传递。可能会工作!

答案 2 :(得分:0)

你可以使用anonymous functions或使用create_function(虽然你将函数定义为一个字符串,但是我觉得Ed Heal's answer可能最好。)只需要一个函数,并将表中不同的值作为参数传递...或者有一个包装每个表的类,然后你就可以在类中使用该函数。