2010-11-18 18 views
0

私は非常に具体的な質問があります:次のコードは1行で入力できますか?それとも同じことをやるためのより良い方法がありますか?このよう動的関数呼び出し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

+0

いいえ、$ keyは1〜20個のメソッドを持つ例です。 – Simon

答えて

4

たぶん

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

または

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

{/ *は正しい* /}です。この文書にはいくつかの文書がありますか? – Simon

関連する問題