对于 [$obj, $method](...$args) 写法

发布时间 2023-04-20 16:17:26作者: 拾柒丷

今天看到一个写法,因为自己没怎么用过所以记录一下

 

$args = ['a','b','c','string',18];

$obj = new Index();

$method = 'get_string';

$result = [$obj, $method](...$args);


上面代码运行打印得到:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => string
    [4] => 18
)


理解起来就是:
[$obj, $method] 表示数组,其中 $obj 代表的是一个对象或者是一个类,$method 表示类或者对象中的一个方法名
而 (...$args) 表示可变参数列表,因此 [$obj, $method](...$args) 的含义是调用 $obj 对象或类中的 $method 方法,并传入可变数量的参数 $args