首页 > 代码库 > 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函数