我需要总是传递所有参数给PHP函数吗?

3

可能是重复问题:
PHP - 调用带有多个变量的函数

(说明:本文是关于在PHP中调用带有多个变量的函数的问题。)
function test($var1=null, $var2=null, $var3=null){
    //smart stuff goes here
}

我每次调用函数时都必须传递所有变量吗?

test(null, $var2, null);

我希望只传递$var2,因为所有其他变量都具有默认值...这是否可能?

在JavaScript中,我们可以将对象传递给函数,PHP中是否有类似的东西?


通常情况下,将一个数组作为参数传递是很常见的(PHP中有关联数组,不需要对象)。该数组包含了实际的参数。 - Niko
我进行了一项研究,并发现了这个有趣的代码片段http://www.marco.org/2008/11/11/faking-named-parameters-in-php - simPod
1个回答

3
您只需将参数传递到您不想使用默认值的最后一个参数。在您的示例中,您可以这样做:
test(null, $var2);

最后一个参数可以省略,因为默认值已经很好了。但第一个参数必须包含,这样PHP才知道您正在设置第二个参数的值。

在PHP提供像Python一样的命名参数之前,它必须按照这种方式工作。


那么,没有其他方法可以告诉PHP我只传递第二个变量吗? - simPod

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