php基础教程 第九步 自定义函数
自定義函數
在之前的課程我們有使用到php的系統函數,這些函數由系統定義。在開發中,有時候系統自帶的函數滿足不了我們開發時(或其它情況),我們可以自定義函數。顧名思義,自定義函數就是自己定義函數。
自定義函數的語法如下:
在以上自定義函數中,關鍵字為 function 隨后接著函數名稱,這個函數名稱由自己定義。隨后緊接著是一個圓括號,再接著是一個花括號。花括號中填寫的是當前函數需要執行的一些代碼。
最基礎的自定義函數
查看了以上自定義函數的基本語法后,查看以下示例直觀了解自定義函數:
<?php function printInfo(){echo 'hello'; } printInfo(); ?>根據自定義函數定義語法得知,以上代碼中,使用function 關鍵字定義了一個函數,這個函數名為 printInfo,需要執行的代碼是 echo 'hello';。
定義完函數后,在下面使用函數的調用方法 函數名(); 調用了printInfo 函數 printInfo();。
打開服務,訪問php文件,結果如下:
成功執行了代碼 echo 'hello';。
帶參數的函數
參數?什么是參數?可能有一些初學者會發出這個疑問。在了解參數概念前我們需要知道什么是函數。函數我們可以當做是一個功能,好比做飯,電飯鍋的功能是做飯,但是需要什么原料才能做飯?當然是需要米的加入才能做飯,當然,也要有水。這個米和水就是參數。
回到正題,當我們編寫一個函數,要完成兩個變量的相加運算,那么我需要給兩個變量給這個函數。那么這兩個變量,則是參數。查看以下示例了解兩個數相加的自定義函數:
<?php function sum_($a,$b){echo 'a+b='.($a+$b); } sum_(1,2); ?>以上代碼中,定義了一個名字叫做 sum_的函數,可以給這個函數兩個參數,第一個參數是a,第二個參數是b,兩個參數之間使用逗號隔開(可以多個參數,不止可以傳2個參數)。在函數的代碼中,輸出a+b的值。
新手讀者可以查看 'a+b='.($a+$b)代碼,可以發現 'a+b=' 與 ($a+$b) 之間使用了小數點 . 進行鏈接,為什么不直接寫成 'a+b='.$a+$b呢?如果使用 'a+b='.$a+$b 的話,計算機并不會直接計算兩個變量a+b,而且會直接使用小數點鏈接變量a,這樣就等于 a+b=’.$a 隨后再加上 b 這個變量。但是由于前面的值是一個字符串,后面的值是一個數字,一般情況下,不同類型并不能做加減之類的運算,所以我們需要使用括號把變量 a+b 先計算后,得出一個數字,再進行連接。
隨后調用sum_函數,并且在函數的括號中,第一個值寫的是1,這個1對應的是函數中的變量a,第二個寫的是2,這個2對應是函數中的變量b。在此我們發現,傳參的值是可以按照位置進行對應的。
最終結果如下:
返回值函數
學習了以上的帶參數函數,返回值函數學習起來也是非常快捷。返回值函數是函數會返回一個值。例如剛剛計算了a+b,我們需要把這個結果返回給一個變量進行接收,把a+b的結果賦值給一個變量,查看以下示例完成:
<?php function sum_($a,$b){return $a+$b; } $a=sum_(1,2); echo $a; ?>以上代碼中,sum_函數中使用了return關鍵字,return關鍵字的作用則是返回一個值。在這里寫作 return $a+$b; 表示返回a+b的值。
在調用函數時,我們寫為 $a=sum_(1,2);,在這里,我們把sum函數中return 的a+b值賦值給了變量a。隨后輸出變量a的值:
輸出為3結果正確。
在以上示例中,我們發現調用函數后,返回的值給予了變量a,可是函數里面接受傳參有一個參數也是a變量,這兩個變量是否是同一個值?答案是“這兩個變量并不是同一個值”。
怎么理解這兩個變量呢?打個比方,你們學校有兩個人叫小明,你們校長也叫做小明,你們班里面也有個小明,當在班里面說的小明自然是你們班級里的,在班級外面學校廣播說話的小明肯定是校長。所以這個變量a,在函數里面則是表示函數里面的變量a。在函數外面則是表示的是函數外部的a變量。
為了方便理解,我以上函數示例中的代碼都是一行,但是函數中的函數并不是只能寫一行。大家可以自行嘗試,查看效果。在此還要提醒的一點是,函數里面使用return,就表示函數在此跳出,結束函數的執行,需要注意函數的使用,在沒有完成函數邏輯時,或者說沒有完成你想要的邏輯時,別使用return,這樣會使你的函數跳出,結束函數。
總結
以上是生活随笔為你收集整理的php基础教程 第九步 自定义函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php基础教程 第八步循环补充
- 下一篇: php基础教程 第十步 阶段性知识补充