2011-12-11 141 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+