此问题在此处已有答案:
(9个答案)
2天前关闭。
我想调用一个这样的方法:
public function to(Address|string ...$addresses) {}
我可以用$obj->to("my-address")
调用它。但是,当我想给予一个地址列表时,我使用:
$myList = [ "address-1", "address-2" ];
$obj->to($myList);
但我得到这个错误:must be of type Symfony\Component\Mime\Address|string, array given
即使是[]
:
如何使用数组作为参数?
2条答案
按热度按时间5anewei61#
你还需要在函数的 call 中添加
...
。这个语法有两个互补的含义,都在手册的同一页上。因此:
意思相同:
然后函数声明中的
...$addresses
将其返回到数组中,检查每个项是否与类型声明Address|string
匹配。3xiyfsfu2#
你使用
...
来获取每个参数。在将数组传递给to()
之前,你应该展开数组: