[英]optional typed variadic arguments
自5.6版以来,PHP都具有各种参数解压缩功能 。
function doSomething(User ...$users) {
return count($users);
}
$userOrNoUserList = [$user1, null, $user2];
doSomething(...$userOrNoUserList); // wanted: 3
这将引发以下错误:
可捕获的致命错误:传递给doSomething()的参数2必须是用户的实例,给定null
但是我想在doSomething()
内部保留列表结构; 我不想在调用之前过滤null
值。 是否也可以允许null
值?
您必须使用?
定义可空类型 ?
User
类型前面的字符(在PHP 7.1.0中可用):
function doSomething(?User ...$users) {
return count($users);
}
然后您可以致电:
$userOrNoUserList = [$user1, null, $user3];
doSomething(...$userOrNoUserList); // 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.