Crie funções em um loop com nomes de elementos em uma matriz em php

Estou tentando construir um site que contenha formulários que permitam aos usuários editar, visualizar e excluir registros nas tabelas mySQL. Eu consegui isso. Agora eu quero que o usuário seja capaz de adicionar novos formulários e tabelas, mas eu precisaria ser capaz de criar funções com nomes com base em elementos em uma matriz.

O código abaixo não funciona, mas há algo mais que isso?

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

Use funções anônimas:

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

Então você chama uma das funções como:

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

Aqui está uma idéia. Ter uma function e passar esses itens como parâmetros. Pode funcionar!

Você poderia usar funções anônimas ou usar create_function (tipo de create_function uma vez que você define a function como uma string) … mas acho que a resposta de Ed Heal provavelmente é melhor. Basta ter uma function e passar os valores que diferem por tabela como parâmetros … Ou ter uma class que envolve cada tabela e então você poderia ter a function na class.