如何在函数调用中跳过可选参数?

好吧,我完全忘记了如何在PHP中跳过参数。

假设我有:

function getData($name, $limit = '50', $page = '1') {
    ...
}

我如何调用此函数,以便中间参数采用默认值(即。'50')?

getData('some name', '', '23');

以上是正确的吗?我似乎无法让它工作。


答案 1

您的帖子是正确的。

不幸的是,如果您需要在参数列表的最末尾使用可选参数,则必须指定直到最后一个参数为止的所有内容。通常,如果要混合搭配,请为它们指定默认值 or ,如果它们是默认值,则不要在函数中使用它们。''null


答案 2

不,以这种方式跳过参数是不可能的。仅当传递的参数位于参数列表的末尾时,才能省略这些参数。

对此有一个官方建议:https://wiki.php.net/rfc/skipparams,但被拒绝了。提案页面链接到有关此主题的其他 SO 问题。


推荐