2015-04-02 118 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