2014-12-27 100 views
-2

我可以從變量運行函數嗎?假設我有$funcVar = somefunction,我是否可以像這樣運行它; $funcVar()?或者我必須將變量設置爲; $funcVar = somefunction(),只是有這個; $funcVar在我的代碼的地方?從變量運行函數

+6

你爲什麼不只是嘗試?你會以這種方式更快地找到答案。 – axiac 2014-12-27 18:58:27

+1

http://3v4l.org/PRXQd – MisterBla 2014-12-27 18:58:46

回答

0

你可以存儲函數的名稱一個變量然後調用變量函數

例如:

function example(){ 
// Your Code 
} 
$fun="example"; 
//Calling function 
$fun(); 

注:這是不是有點像功能example()審過/存儲變量$fun它只是變量的值,因爲相同的函數名,變量和你的價值變化情況將無法使用此變量調用函數。

更新: 使用類實例:

class test{ 
    static function demo(){ 
     echo "hai\n"; 
    } 
} 
$a="demo"; 
test::$a(); 
$ob=new test(); 
$ob->$a(); 
+0

所以,說這個函數是在一個類中,那麼它將如何工作。我試圖做同樣的事情,但像'$ fun =「$ class-> example()」; $樂趣;'。但是,這會引發錯誤。 – Core 2014-12-27 19:41:00

+0

更新我的回答希望它有幫助。 – Shubanker 2014-12-27 19:46:25

+0

而且您不能將類名稱或對象名稱存儲在變量中。 – Shubanker 2014-12-27 19:47:29

0

您可以將一個函數分配給一個變量。例如,假設你有功能myFunc的:

function myFunc() { 
    echo "hello, world!"; 
} 

它可以被分配給一個變量

$var = "myFunc"; 

然後叫:

$var();