2015-04-02 117 views
4

我有一段代码,让我们说:如何让PHP在函数调用中使用默认参数?

function nums($a = 1, $b = 2, $c){ 
    echo "$a, $b, $c"; 
} 

nums(?, ?, 3); 

我可以采用某种替代?告诉PHP使用默认值的参数,只传递所需要的参数,或者是它做只需在参数列表中放置$ c,然后选择可选参数?

+3

答案很简单,没有。订购它,所以默认是最后一个,然后只是省略它们。 – AbraCadaver 2015-04-02 19:46:11

+0

我会让一个数组的参数,并设置数组变量的默认值,如果它们不提供 – Drew 2015-04-02 19:51:36

回答

6

将默认参数放在最后,然后不要在函数调用中填入参数。

例如:

function nums($c, $a = 1, $b = 2){ 
    echo "$a, $b, $c"; 
} 

nums(3); 

默认参数可以通过将其添加到函数调用来覆盖:

function nums($c, $a = 1, $b = 2){ 
    echo "$a, $b, $c"; 
} 

nums(3, 12, 27); 
+0

只是好奇,如果它可以做到另一种方式,因为它可能有第一个参数需要指定,然后您只需指定3rd,并希望第二个参数改为使用默认值。无论如何谢谢 – Arno 2015-04-02 19:47:17

+1

@Arno,不是我所知道的。除非您知道默认值并在每次调用函数时都传递它们,但这样做会违反默认参数的目的。 – DuckPuncher 2015-04-02 19:50:59