1 函数的概念
//函数概念
//一段封装好的代码, 可以随时调用
function func1(){
echo 'func1<br/>';
}
func1();
2 函数的定义
//函数定义格式
/**
* function 函数名([参数],..){
*
* //执行语句
* //return ;
* }
*
*/
//命名规则与变量一样 但是,不区分大小写
3 函数的调用
//函数的调用过程和返回值
/**
* 函数调用时,代码执行权进入函数
* 当函数所有语句执行完毕,函数结束,交还执行权
* 或者函数碰到return语句时,函数结束,交还执行权
*/
function func2(){
echo '123<br/>';
}
echo 'a','<br/>';
func2();
echo 'b'; //a123b
function t2(){
echo '1';
echo '2';
echo '3';
return 'ddd';
echo '4';
return 'ccc';
}
$a = t2();
var_dump($a); // ddd 并且会将123打印在前面
4 参数的传值方式
//函数传值方式
function func4($b){
$b += 1;
}
$a = 3;
func4($a); //传参$a 相当于$a的值赋值给$b,而$b的值属于函数内部的值,与外界无关
echo $a; //3
function func5(&$b){
$b += 1;
}
$a = 3;
func5($a); //引用传参导致$a与$b指向了同一个地址,函数内部修改会导致$a的修改,不推荐使用,破坏了函数的封装性
echo $a;
5 动态函数
//动态调用函数
// 可以用变量的值当做函数,并调用函数
function welcome(){
echo 'welcome';
}
function beat(){
echo 'beat';
}
$val = 'beat';
$val();
6 函数中变量的作用域
//函数变量作用域
/**
* 在php页面中声明的变量为全局变量
* 函数内的变量为函数内的局部变量
*/
$a = 2;
function func6(){
$b = 9;
echo $a;
}
func6();
echo $b;
//声明全局变量 采用global声明 不推荐 会破坏函数的封装性
function func7(){
global $a;
echo $a;
}
func7();
//超级全局变量 在页面的任何地方都可以调用