细说php第八章笔记(初稿)
8.1
函数的定义
函数是被命名的;
函数是独立的;
函数执行特定的任务;
函数可以用将一个返回值返回给调用他的程序
函数的优越性
提高程序的重用性
提高软件的可维护性
提高软件的开发效率
控制程序设计的复杂性
PS:以上真没看出来为什么,没什么用
8.2 自定义函数
8.2.1 函数的声明
函数的声明格式
function 参数([参数1,参数2, 。。。。参数n]){
函数体
returne 返回值;
}
说明:
(1)每个函数的第一行都是函数头,有声明函数的关键字function、函数名和参数列表组成
(2)每个自定义函数都必须使用”function“关键字声明
(3)函数名可以代表着整个函数,函数的命名遵循变量命名规则即可。
php不允许使用函数重载,故不能定意重名函数,最好给函数指定一个描述其功能的名称
(4)声明函数时函数名后的括号必须有。
(5)函数体位于函数头之后用花括号括起来
(6)使用关键字return 返回一个值
8.2.2函数的调用
函数只有在被调用是才会执行
函数名称的作用
1.听过函数名调用函数
2.如果函数有参数,则通过函数名后的小括号
3.有函数当返回值,当函数执行完。return后面的值返回到调用函数的位置,这样可以把函数名称当作返回值使用
8.2.3函数的参数
参数列表是由另个、一个或多个参数组成每个参数都是表达式,用都好分隔。
对于有参数,在php中和被调用函数之间有传递关系。
形参:定义函数时函数名后的表达式
实参:被调用后函数名后面中的表达式(易混淆)
8.2.4函数的返回值
调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键return向调用者差传递的数据
return的作用:
return语句可以向函数调用者返回函数体的任意确定的值;
将程序控制权返回到调用者的作用域,即退出函数。如果在函数替中执行了return语句,后面的语句将不会执行
8.3函数的工作原理和结构化编程
结构化编程的卓越之处
结构化程序更容易编程。复杂的问题简单化
结构化的程序更容易调试
8.4php变量的范围
变量的范围也就是它的生效范围。
变量依据声明的位置可分为局部变量和全局变量
8.4.1局部变量
局部变量也称为内部变量,是在函数内部声明,其作用域仅限于函数内部,离开该函数后使用这种变量是非法的。
8.4.2全局变量
全局变量也称为外部变量实在函数外部定义的,它的作用域为从变量定义出开始,到本程序文件的末尾。
php中由于函数可以视为单独的程序片段,所以局部变量的能见度,因此在函数无法直接使用全局变量
函数中若要使用全局变量有两种方法:
利用global关键字定义目标变量以告诉函数主体词变量为全局变量
用特殊的php自定义$GLOBALS数组
8.4.3静态变量
局部变量从存储方式可分为动态存储类型和静态存储类型。如果变量不声明为static存储类别,则默认为动态地非配存储空间。
静态变量:但函数结束后内部变量依然保存在内存中
function 参数([参数1,参数2, 。。。。参数n]){
函数体
returne 返回值;
}
8.5声明应用各种形式的php函数
8.5.1常规参数的函数
格式:
string example(string name, int age, double height)
8.5.2伪类型参数函数(看不懂)
格式:
mixed funName(mixed $arhs)
mixed funName (nunmber $args )
8.5.3引用参数的类型