首頁  >  文章  >  後端開發  >  php函數之預設參數函數

php函數之預設參數函數

伊谢尔伦
伊谢尔伦原創
2017-05-11 13:57:266500瀏覽

php預設參數函數介紹

在PHP中,支援函數的預設方式調用,即為參數指定一個預設值。上一節介紹了php函數之引用參數函數,在呼叫函數時如果沒有指定參數的值,在函數中會使用參數的預設值。預設值必須是常數的表達式,不能是變數、類別成員或函數呼叫。 PHP也允許使用陣列和特殊類型 NULL 作為預設參數。

php預設參數的函數格式說明如下:

mixed funName(string name[, string value [, int expire]])    //参数列表中出现使用 [ ] 描述参数

在定義函數時宣告了參數,而在呼叫函數時沒有指定參數或少指定了參數,就會出現缺少參數的警告。

下面透過一個實例來說明預設參數:

<?php
 //自定义一个函数person,用于打印一个人的属性
 function person($name="张三", $age=20, $sex="男"){
   echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
 }
 person();               //全部使用默认参数
 person("李四");            //第一个默认参数被覆盖,后面两个参数为默认
 person("李四",22);          //前两个默认参数被覆盖,后面一个参数为默认
 person("李四",22,"女");        //三个默认参数都被覆盖
?>

該程式執行後輸出結果如下:

姓名:張三, 年齡:20, 性別:男 

姓名:李四, 年齡:20, 性別:男 

#姓名:李四, 年齡:22, 性別:男 

姓名:李四, 年齡:22, 性別:女 

#在上面的實例中宣告了一個名為person() 並帶有三個參數的函數,其中的三個參數都被預設附上了初始值,即預設參數。在呼叫函數時,如果少傳或不傳參數,參數將使用預設的值。如果使用者在呼叫函數時傳值,則使用傳入的值。

 當呼叫函數傳遞參數時,實參和形參是按照順序對應傳遞資料的,如果實參數少於形參,則右邊的形參不會被傳值。當使用預設參數時,任何 預設參數必須放在任何非預設參數的右側,否則,可能函數將不會按照預期的情況進行工作。

例如,下面的函數宣告就是函數預設參數不正確的用法。後面兩個參數沒有被傳值,也沒有預設值,在呼叫時出現警告。

下面透過一個範例來說明:

<?php
 //自定义一个函数person,用于打印一个人的属性
 function person($name="张三", $age, $sex){
   echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
 }
 person("李四");    //第一个默认参数被覆盖,后面两个参数没有传值,会出现两条警告信息
?>

說明:只需要將函數頭部的參數清單中,預設參數列在所有沒有預設值的參數的後面,程式就可以正確的執行。在上面的程式碼中,函數person() 在呼叫時,前兩個參數時必須傳值的參數,如果不傳之則會出現錯誤;而最後一個參數是可選的參數,如果不傳值則使用預設的值。

【相關教學推薦】

1. 《php.cn獨孤九賤(4)-php影片教學

2.  php程式設計從入門到精通全套影片教學

3. php實戰影片教學

#

以上是php函數之預設參數函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn