为避免代码的冗余,提高利用率,所以出现函数
函数定义:
Function 名字(参数){
内容
}
function foo($a){
return $a*$a;
}
把函数看成是一个模块,是一个功能,输入东西进去产出你要的结果,相当于一个工厂
函数调用
直接用函数的名字加参数即可,随调随用
函数命名规范
和变量一样(以字母数字下划线组成,不以数字开头),但不区分大小写
函数形参和实参
function foo($a){
return $a*$a;
}
echo foo(5);
#结果为25
#5是实参,$a是形参
function foo($a){
return $a*$a;
}
$b = 5;
echo foo($b),'<br>';
echo $b;
#结果:25
# 5
如果变量作为实参,经计算后,实参没有改变,因为实参只是提供一个值,而在函数里边的形参只与函数内有关
如果形参多于实参,会弹出一个警告,并尽量执行下去
如果实参多于形参,则会自动过滤多于实参
函数里的默认值
function foo($a,$d = 1){
/*$d = 1为默认值,当没有实参传入则会自动替补,有实参传入时会替换掉默
认值,默认值从右边依次开始放,不然当第一个算是默认值,最后一个不是时,
实参会把第一个形参替换,导致最后一个形参没有实参传入,形参多于实参,
会警告
*/
return $a*$a+$d;
}
$b = 5;
echo foo($b),'<br>';
echo $b;
函数作用域
函数有函数自己的小空间,无特殊情况下里边的变量与外部的变量无关,当你调用函数时,系统会调用一个空间暂时给函数,用完后就释放掉,所以函数一被调用完,里面的变量就恢复成开始的样子
动态函数
名称可以是变量
1
超级全局变量
就是变量到哪个角落都可以使用
$_GET //地址栏的参数
$_POST//
$_SESSION
$_COOKIE
$_FILES
$_ENV
$_REQUEST
$_SERVER
1
学习笔记