A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

函数基础函数的定义:
形式:function   函数名(【形参一】,【形参二】.....{
//函数体。。。。。
}
说明:
1.定义时使用的形参,其实就是一个变量——只能在该函数内部使用的变量
2.形参作为变量,其实名字是“自己定义”——自然应该遵循命名规范
函数的调用:
函数名($实参一,$实参二)
说明:
1.形参因该跟调用的函数的形式“一一对应”;
2.实参就是“数据值”,可能是直接值(比如5,”123”,也可能是变量值(比如$v1
Function  f1$X,$Y{
$s=$X+$Y;
$result=sqrt($s);   //对其开方
Return  $result;
}
函数调用详细过程
1.首先,经函数调用时的实参数据,传递(赋值),给函数的形参(变量)。
2.程序的执行流程,进入到函数内部——此时可以认为是一个跟外界“隔离”的“独立运行空间”
3.在函数内部,按正常流程循序,执行其中的代码;
4.指导汉书结束,则突出该运行空间,而返回到原来调用函数的位置,继续执行后续代码!
5.如果在函数内部执行过程中,有return语句,则也会立即终止函数,并返回到函数调用位置。
函数的参数问题函数形参的默认值问题
我们可以给一个函数定义时的形参,辅助一个“默认值”,则这个函数调用的时候,该形参对应的实参,可以不给值。
Function  f1($x=3,$y=4){
$s=$x+$y;
Return  $s;
}
$v1=f1(30,40);                //传过去两个值分别给xy
$v1=f1(30);                //传过去一个值给x,自动获得y=4
$v1=f1();                        //没有值传递过去,自动获得x=3y=4
函数形参的默认值,可以只给部分形参设置默认值,但默认值的形参都要放在”右边”(后边):
Function  f2$x=3,$y=4$z=’abc’){
$s=$x+$y;
Return  $s;
}
F2(1,2,’xyz’);
F2(1,2,)’;
F2(1);
F2();                        //这种做法是错误的
形参的传值问题
一句话:形参的传值问题,其实就是“变量之间的传值问题”:
无非就是实参变量,船只给形参变量的问题。
即:
此时也同样有两种传值方式:
值传递:
这是默认值,如果没有特别设定,参数传值都是值传递。
引用传递:
需要在形参的前面加&符号。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsFBD0.tmp.jpg
函数参数的数量问题
1.通常,函数调用时的实参数量,应该跟函数定义是的形参数量保持一致。
2.如果函数定义是,形参有默认值,则对应的实参就可以进行一定程度的省略:
          注意:省略只能从右往左进行。
    3.有一种定义和使用函数的特别形式(并不常见),他不定义形参,而实参任意给出。
其实,系统中也有类似的好书,比如:
Var_dump$v1;
Var_dump($v1,$v1,$v3);  //ok
可见,该函数就可以接受人一个数的实参:
我们自己也可以定义这种函数:其实这种函数,依赖的是以下3个系统函数来获取相应的信息,一得到实参数据的处理:
1.func_get_args()//获取实参数据列表,成为一个数组
2.func_get_args($v1)//获取第$v1个实参数据,$v10开始算起
3.Func_num_args();   //获取实参的数量
函数的返回值
1.一个函数,可以返回数据值,也可以不返回。需不需要返回数据值,由所需来决定。
2.如果需要返回值,则使用return语句,后面跟一个数据(可以使变量),就可以返回该数据
3.如果不需要返回值,在函数中可以没有return语句,或有return语句但是气候没有跟一个数据
4.return语句的作用,不管后面跟不跟数据值,都会立即终止函数的执行,返回到函数调用的位置并继续后续工作
函数的其它形式可变函数:
一个变量后面带括号,则会被识别为可变函数,找到与该变量的值同名的函数并执行之。
Function  f1(){
Echo  “这就是一个普通海曙”
}
$v2=f1”;
$v2();         //这就是可变函数,在调用函数的时候,使用一个变量名而已,该变量的内部,就是该函数名
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsFBE0.tmp.jpg
匿名函数
匿名函数就是没有名字的函数
有两种形式的匿名函数:
形式1:将一个函数名“赋值”给一个变量——此时该变量就代表匿名函数了
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsFBF1.tmp.jpg
形式二:
是直接将一个匿名函数,当作实参使用!——即调用别的函数的时候,是用一个匿名函数来当做实参,自然,在该函数A中,也就应该对该匿名函数当作一个函数来用。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsFBF2.tmp.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马