php函數之如何用預設參數和可變長度參數方式傳遞?

醉折花枝作酒筹
發布: 2023-03-11 20:46:01
原創
1890 人瀏覽過

上一篇文章中我們了解了向函數傳遞參數中的引用傳遞參數,有需要的請看《php函數之如何引用傳遞參數? 》。這次我們向大家介紹向函數傳遞參數中的另外兩種傳遞方式,有需要的可以參考參考。

傳遞參數給函數的方式有四種,分別是值傳遞、引用傳遞、預設參數和可變長度參數。之前兩篇文章介紹了值傳遞和引用傳遞,這次我們就來介紹預設參數和可變長度參數。

預設參數

首先來看一個小範例。

<?php
  function add($a, $b=56){
    echo $a.&#39; + &#39;.$b.&#39; = &#39;.($a+$b).&#39;<br>&#39;;
  }
  add(11);
  add(37, 29);
?>
登入後複製

輸出結果是

11 + 56 = 67
37 + 29 = 66
登入後複製

這個例子可以很清楚的看到,當提供的參數為一個,並且另一個參數有預設值時,將直接進行運算;若提供的參數為兩個,則按提供的值來進行運算。

預設參數是為函數的一個或多個形式參數指定預設值。如果在呼叫函數時沒有傳入對應的值,函數將使用此預設值,這可以避免在呼叫時沒有參數的錯誤,使一些程式更加合理。如果傳入相應的參數,將替換預設值。

可變長度參數

先舉出一個小栗子。

<?php
  function test(...$arr){
    print_r($arr);
  }
  echo &#39;<pre class="brush:php;toolbar:false">&#39;;
  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中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板