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

115

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

假设我有以下代码:

function getData($name, $limit = '50', $page = '1') {
    ...
}
我该如何调用这个函数,使得中间的参数采用默认值(即 '50')?
getData('some name', '', '23');

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


1
@Chuck,你具体是在寻找什么?比如一个解决方法或者实现这个功能的类等等? - Rizier123
@Rizier123 我想问一下当前版本的PHP是否支持跳过参数(就像其他语言一样)。当前的答案可能已经过时了。从赏金描述来看:“当前的答案已经五年了。当前版本的PHP是否有所改变?” - Chuck Le Butt
1
@Chuck 那么答案可能是:没有任何改变;如果没有解决方法/代码,你将无法获得所需的功能。 - Rizier123
所有这里的答案都似乎假定你对被调用的函数有控制权。如果那个函数是库或框架的一部分,你只能在需要第三个参数时为参数2指定某些内容。唯一的选择是查看函数源代码并复制默认值。 - Snapey
无法跳过它,但是您可以使用ReflectionFunction传递默认参数。我在类似的问题中发布了答案 - David
可能是在函数中使用默认参数的重复问题。 - David
21个回答

-6
getData('some name');

只需不传递它们,就会接受默认值


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接