1. 程式人生 > >PHP函數

PHP函數

cookie 命名 返回 有效 如果 我們 bad 運行 區分

1.函數概念

  函數就是一段封裝起來的代碼,可以隨時調用。

  function wel(){

    echo "welcom to beijing";

  }  

2、函數的定義格式

  function 函數名(【參數1】【參數2】,.....){

    //函數體,就是PHP語句

    return 某值/表達式//

  }

  return的作用:

  函數就好比一個豆漿機器,參數就像黃豆和水,

  我們將黃豆和水放進去,如果沒有產出豆漿,那就沒有任何作用;

  return 返回一個結果

  誰能捕捉到這個調用結果呢?調用結束後,調用行可以捕捉return的結果。

  函數的命名規範:

  有效的函數名以字母或下劃線打頭,後面跟字母,數字或下劃線。

  對於函數,命名規則和變量是一樣的,但是函數不區分大小寫。

  註意:雖然不區分大小寫,但是聲明時和調用是大小寫要保持一致。

3、函數的返回值

    

  return 返回一個結果

  a.值通過使用可選的返回語句返回。

  b.可以返回包括數組和對象的任意類型。

  c、返回語句會立即中止函數的運行,並且將控制權交回調用該函數的代碼行。

  誰能捕捉到這個調用結果呢?調用結束後,調用行可以捕捉return的結果。

  a、無參

    function say(){

    return ‘hello‘;  

    }

    echo say();

   b、有參數

    function add($a,$b){

    return $a+$b;

    }

    echo add(3,4);

4、函數的傳參方式--值傳遞和引用傳遞

 

1 function add($a){
2     $a = $a+1;
3     return $a;
4 }
5 $b = 7;
6 echo add($b);
7 echo "<br/>";
8 echo $b;

輸出8

  7

  引用傳值

  

1 function add(&$a){
2     $a = $a+1;
3     return
$a; 4 } 5 $b = 7; 6 echo add($b); 7 echo "<br/>"; 8 echo $b;

輸出:8

   8

5、可選參數

  

1 function add($a,$b=8){
2   $sum = $a+$b;
3     return $sum;
4 }
5 echo add(7);//輸出為15
6 echo add(7,10);//輸出17
1 function add($a,$b=8,$c){
2   $sum = $a+$b+$c;
3     return $sum;
4 }
5 //echo add(7,8);//報錯
6 echo add(7,10,10);//輸出為27
7 echo add(7,8,10);//輸出為25
1 function add($a,$b,$c=8){
2   $sum = $a+$b+$c;
3     return $sum;
4 }
5 //echo add(7,8);//報錯
6 echo add(7,10,10);//輸出為27
7 echo add(7,10);//輸出為25

6、函數作用域

  變量的作用域,就是變量在函數裏,和不在函數裏。

  對於PHP而言,函數的作用域非常簡單,它就區分函數內和函數外

  

1 function t(){
2     echo $a;
3     $b = 5;
4 }
5 $a = 2;
6 t();
7 echo $b;

輸出錯誤,$a、$b未定義

  函數內部和函數外部分別有兩個花名冊

  函數內部的變量有它自己的花名冊

  

1 $b = 7;
2 function num(&$b){
3     return $b = $b-1;
4 }
5 echo num($b);//6
6 echo $b;//6

  全局變量

  

1 $a = 8;
2 function c(){
3     global $a;//告訴函數去全局變量裏面找$a
4     return $a;
5 }
6 echo c();//輸出8

全局數組

  

1 $a = 1;
2 $b = 3;
3 $name = ‘zhangsan‘;
4 print_r($GLOBALS);

Array ( [_GET] => Array ( ) [_POST] => Array ( ) [_COOKIE] => Array ( [pgv_pvi] => 6579450880 ) [_FILES] => Array ( ) [GLOBALS] => Array *RECURSION* [a] => 1 [b] => 3 [name] => zhangsan )

1 //$GLOBALS全局數組,$_POST,$_GET
2 
3 function d(){
4     $GLOBALS[‘age‘] = 23;
5     $GLOBALS[‘sex‘] = ‘man‘;
6 }
7 d();
8 print_r($GLOBALS);

Array ( [_GET] => Array ( ) [_POST] => Array ( ) [_COOKIE] => Array ( [pgv_pvi] => 6579450880 ) [_FILES] => Array ( ) [GLOBALS] => Array *RECURSION* [age] => 23 [sex] => man )

1 function d(){
2     $GLOBALS[‘age‘] = 23;
3     $GLOBALS[‘sex‘] = ‘man‘;
4 }
5 d();
6 print_r($GLOBALS);
7 echo $age;//輸出了23
8 echo $sex;//輸出了man

7、動態調用函數

  

1 function good(){
2     echo ‘haha‘;
3 }
4 function bad(){
5     echo ‘wowo‘;
6 }
7 $heart = ‘good‘;
8 
9 $heart();

變量值當函數名來調用。

PHP函數