2010-11-18 87 views
0

我有一個非常具體的問題:下面的代碼可能在一行中?或者有沒有一種方法可以做到這一點?動態函數調用PHP

$key = rand(1,100); 

$temp = 'GetObjects'.ucfirst($key).'Array'; 
$objects = $this->module->$temp(); 

像這樣:

$objects = $this->module->'GetObjects'.ucfirst($key).'Array'(); 
+0

老實說,你有很多方法,你的'module'是1-100的作品?好神! – ircmaxell 2010-11-18 18:22:45

+0

不,$ key是一個例子,它有1-20個方法左右。 – Simon 2010-11-18 18:32:42

回答

4

也許

$objects = $this->module->{'GetObjects'.ucfirst($key).'Array'}(); 

$objects = call_user_func(array($this->module, 'GetObjects'.ucfirst($key).'Array')); 
+0

{/ *是正確的* /}。這個有一些文檔嗎? – Simon 2010-11-18 18:56:37