2011-12-11 105 views
18

可能重复:
Use a variable to define a PHP function用变量作为函数名PHP

是否有使用一个变量作为函数名的方式。

,比如我有一个变量

$varibaleA; 

,我想创建一个功能即

function $variableA() { 
} 

所以这个功能以后可以在脚本中调用。有谁知道这是否可以做到?

感谢

+0

为什么无论你认为这是一个好主意,他们可能是一个更好的解决方案。 – 2011-12-11 18:51:21

+0

[Use a variable to define a PHP function](http://stackoverflow.com/questions/7213825/use-a-variable-to-define-a-php-function)或[PHP:define functions with变量名称](http://stackoverflow.com/questions/7337883/php-define-functions-with-variable-names) – mario

+0

不是重复。那个人要求用* Dynamic *名称来定义一个函数 - 而不仅仅是一个变量。 –

回答

23

声明有这样一个变量,但任意名称的功能也不是没有可能得到你的手脏eval()include()

根据你想要做什么我想,你要存储在该变量的anonymous function代替(如果你不是在PHP中使用create_function() 5.3+):

$variableA = function() { 
    // Do stuff 
}; 

您仍然可以调用它,就像任何variable function,就像这样:

$variableA(); 
+0

保存自己的滋扰。注意''''后''''。 –

9
$x = 'file_get_contents'; 
$html = $x('http://google.com'); 

在功能上相当于做

$html = file_get_contents('http://google.com'); 

他们被称为variable functions,一般应避免,因为他们太远变量变量中删除。

1

,你可以这样做:

$foo = function() { 
    //.. 
}; 

然后:

$foo(); 

作品在PHP 5.3+