代码之家  ›  专栏  ›  技术社区  ›  Simon

动态函数调用PHP

  •  0
  • Simon  · 技术社区  · 14 年前

    我有一个非常具体的问题:下面的代码是否可以放在一行中?或者有更好的方法来做同样的事吗?

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

    这样地:

    $objects = $this->module->'GetObjects'.ucfirst($key).'Array'();
    
    1 回复  |  直到 14 年前
        1
  •  4
  •   Tyler Carter    14 年前

    也许 吧

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

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