上一篇文章中我們了解了向函數傳遞參數中的引用傳遞參數,有需要的請看《php函數之如何引用傳遞參數? 》。這次我們向大家介紹向函數傳遞參數中的另外兩種傳遞方式,有需要的可以參考參考。
傳遞參數給函數的方式有四種,分別是值傳遞、引用傳遞、預設參數和可變長度參數。之前兩篇文章介紹了值傳遞和引用傳遞,這次我們就來介紹預設參數和可變長度參數。
預設參數
首先來看一個小範例。
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
輸出結果是
11 + 56 = 67 37 + 29 = 66
這個例子可以很清楚的看到,當提供的參數為一個,並且另一個參數有預設值時,將直接進行運算;若提供的參數為兩個,則按提供的值來進行運算。
預設參數是為函數的一個或多個形式參數指定預設值。如果在呼叫函數時沒有傳入對應的值,函數將使用此預設值,這可以避免在呼叫時沒有參數的錯誤,使一些程式更加合理。如果傳入相應的參數,將替換預設值。
可變長度參數
先舉出一個小栗子。
<?php function test(...$arr){ print_r($arr); } echo '<pre class="brush:php;toolbar:false">'; test(1, 2, 3, 4); test(5, 6, 7, 8, 9, 10); ?>
輸出結果是
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )
這個例子可以很清楚的看到,兩次給函數提供的參數值不相同,但是觀察結果會發現輸入的數值都輸出了。我們看函數本身,發現它與普通函數有所不同,它添加了“...
”。這是可變長度參數的一大特點。
在 PHP 5.6 及以後的版本中,函數的形式參數可使用…來表示函數可接受一個可變數量的參數,可變參數將會被當作一個陣列傳遞給函數。
你想要的php知識都在這裡哦→php影片教學
以上是php函數之如何用預設參數和可變長度參數方式傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!