首页 > 代码库 > PHP函数

PHP函数

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函数