dstnlhhv791576 2016-01-19 15:10
浏览 69
已采纳

“$ this-> array []()”是什么意思? [重复]

This question already has an answer here:

I am not able to understand the code, that is something like :- $this->array[$key]($parameter)

Why is there ($parameter) after $this->array[$key] ?

Thanks

</div>
  • 写回答

2条回答 默认 最新

  • dougua3705 2016-01-19 15:17
    关注

    For reference, the code snippet being referred to here is the following one-line function:

    /**
     * Call a custom driver creator.
     *
     * @param  string  $name
     * @param  array  $config
     * @return mixed
     */
    protected function callCustomCreator($name, array $config)
    {
        return $this->customCreators[$config['driver']]($this->app, $name, $config);
    }
    

    The value being held at the location denoted by $this->customCreators[$config['driver']] in that code snippet is a function. You normally call a named function like this:

    functionName();
    

    The open/close parentheses tells PHP to call/execute that function rather than just reference it, meaning you can pass that function around to a separate function as a parameter like this:

    anotherFunction($this->customCreators[$config['driver']]);
    
    function anotherFunction($creatorFn) {
        $creatorFn();
    }
    

    PHP added support for lambda-style functions (PHP uses the term 'anonymous') in version 5.3, which is when you can say we started treating functions as first-class citizens.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集