1. 程式人生 > 實用技巧 >php-函式的概念,語法,命名及引數

php-函式的概念,語法,命名及引數


1、函式的基本概念

函式:function,是一種語法結構,將實現某一功能的程式碼(多行程式碼)封裝到一個結構中,從而實現程式碼的重複利用

2、函式的定義語法

函式的幾個關鍵點:

  • function關鍵字

  • 函式名

  • 引數(形參和實參)

  • 函式體

  • 返回值

1、基本語法:

 1 1、函式的定義:
 2 function 函式名(引數){
 3     //函式體
 4     //返回值:return 結果
 5 }
 6 //定義函式的目的:是為了實現程式碼的重複利用
 7 
 8 示例:
 9 <?php
10     function yb(){
11         echo
'hello yb'; 12 } 13 ?>

2、函式的使用:

---通過訪問函式的名字+();如果函式在定義時有引數,那麼在呼叫的時候就必須傳入對應的引數;函式是一種結構,不會自動執行,必須通過呼叫才可以

---函式的呼叫可以在函式的定義之前

1 示例:
2 <?php
3     yb();
4 ?>

3、函式執行的記憶體分析:

  • 讀取程式碼進入到程式碼段(編譯:將程式碼程式設計位元組碼儲存到記憶體)

  • 根據程式碼逐行執行

  • 原因:編譯和執行是分開的,先編譯後執行

3、函式命名規範

  • 由字母,數字和下劃線組成,不能以數字開頭

  • 駝峰法

    除了左邊第一個單詞外,後面所有的單詞都大寫

  • 下劃線法

    單詞之間通過下劃線連線,單詞都是小寫

  • 在一個指令碼中,函式不能重名

4、函式的引數

1、形參

  • 形式引數,不具有實際意義的引數,是在函式定義時使用的引數

  • 形參可以有多個,用逗號隔開

2、實參

  • 實際引數,具有實際意義的引數,是在函式呼叫時使用的引數

  • 傳入的引數,可以是變數,也可以是直接的值,或者算符計算結果

  • 實參可以比形參多(不會報錯,函式內部不用而已),但不能比形參少

  • 形參是實參的載體:實參在呼叫時通常需要傳入到函式內部參與計算,那麼需要在函式內部去找到實際資料所在的位置才能找到資料本身,需要實際呼叫的時候,將資料以實參的形式傳遞給形參,給形參賦值,從而使得函式內部可以用到外部資料

1 示例:
2 <?php
3     function add($a,$b){
4         echo $a+$b;
5     }
6     $c=10;
7     add($c,20);
8 ?>
9 //結果:30

3、預設值

形參的預設值:在函式定義的時候,就給形參一個初始賦值,如果呼叫的時候,沒有實參,就用預設值

【注】:預設值的定義是放在最後邊的(多個),不能在左邊形參有預設值,但是右邊沒有

函式外部定義的變數名字與函式定義的形參是沒關係的

1 示例:
2 <?php
3     $num1=10;
4     function jian($a=0,$b=0){
5         echo $a-$b;
6     }
7     jian($num1);
8 ?>
9 //結果:10

4、引用傳遞

---實參在調甲寸會將值賦值給形參,那麼實際上使用的方式就是一種簡單的值傳遞:將實參(如果是變數或者常量或者其他表示式)的結果(值)取出來賦值給形參:形參與外部實際傳入的引數本身沒有任何關聯關係:只是結果一樣。

---有的時候,希望在函式內部拿到的外部資料,能夠在函式內部改變,那麼就需要明確告知函式(定義時),函式才會在呼叫的時候去主動獲取外部資料的記憶體地址。以上這種定義形式引數的方式叫作引用傳值

【注】:在傳入實參的時候,必須傳入變數

基本定義語法:在形參前加&

1 function 函式名(形參1,&形參2){
2     //函式體
3 }

在呼叫的時候,必須給引用傳值的引數位置傳入實際引數,而且引數本身必須是變數(變數才有指向的資料的記憶體地址)
 1 示例:
 2 <?php
 3     function display($a,&$b){
 4         $a=$a*$a;
 5         $b=$b*$b;
 6         echo $a,'<br/>',$b,<br/>;
 7     }
 8     $a=10;
 9     $b=5;
10     display($a,$b);
11     echo $a,'<br/>',$b,<br/>;
12 ?>
13 
14 //結果:
15 100
16 25
17 10
18 25