“$ 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>

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.

In the code you referenced, the array contains a function which gets called with the specified parameters. It's just a regular function call, but the function (or rather a reference to it) is stored in the array.