函数概念
一段封装好的代码,可以随时调用。
函数的定义格式
function 函数名([参数1,参数2,....]){
//执行语句;
//ruturn;
}
函数的命名规范
命名规范:对于函数,命名规则和变量是一样的,但是不区分大小写。
函数的调用过程与返回值
函数调用时,代码执行权进入函数,
一,当函数内的所有语句执行完后,函数结束,交回执行权。
二,当函数碰到ruturn语句时,函数返回,交回执行权。
返回值,类似街边的投币机,投进去两枚硬币,返回一瓶矿泉水。
返回值,是偷偷返回的,并不会在屏幕上输出,取决于怎么使用返回值。
函数有且只有一个返回值,返回值可以赋值给变量
function h2($a,$b){
$c = $a+$b;
return $c;
}
$d = h2(4,5);
echo "$d"; // 9
function t(){
echo '1';
echo '2';
echo '3';
return 'good';
echo '4';
echo '5';
return 'study';
}
$res = t();
echo $res; // 123good
函数参数的传值方式
直接赋值
function t1($a){
$a += 1;
echo $a;
}
$b = 3;
t1($b);//传参相当于把$b的值赋值给$a;而$a是属于函数内部的,体现函数的封装性。
echo $b;//打印变量$b的值。3
// 与上面一样,函数t2接收外部变量$a的值,赋值给函数内部变量$a上
function t2($a){
$a += 1;
echo $a;
}
$a = 3;
t2($a);
echo $a;
引用赋值
这种传参方式是不推荐的,破坏了函数的封装性。
function t3(&$a){
$a += 1;
}
$b = 5;
t3($b);
echo $b;// 6,$a和$b指向了同一个地址,
动态函数
变量的值与函数同名,可以使用$bianliangming()来调用函数
function wel(){
echo "welcome";
}
$heart = 'wel';
wel(); // welcome
$heart(); // welcome
函数中变量的作用域
在php页面中声明的变量叫"全局变量",
在函数内变量叫"局部变量"。
php函数不能直接访问外部变量
$a = 12;
function t(){
echo $a;
}
t(); // Undefined variable: a 变量a未定义
//因此可以传参进去
$a = 12;
function t($a){
echo $a;
}
t($a); // 12
// 当然了亦可以在函数内部使用global去声明该变量是全局变量
global
推荐使用global,破坏了函数的封装性
$a = 12;
function t(){
global $a;
global $b;
$b = 13;
echo $a;
}
t(); // 12
echo $b; // 13
超级全局变量
在页面的任何部分,包括函数内等,都可以直接访问。
function t1(){
print_r($_GET);
}
t1(); // array