一、函数的定义:
1.函数是一个被命名的
2.独立的代码段
3.它执行特定任务
4.并可以给调用它的程序返回一个值
二、函数的优点:
1. 提高程序的重用性
2. 提高程序的可维护性
3.可以提高软件的开发效率
4.提高软年的可靠性
5.控制程序的复杂性
三、函数的声明:
function 函数名(){
函数体
}
function 函数名(参数1, 参数2, 参数.... ) //参数列表,如果有多个就作用,分开
{
函数体
}
function 函数名(){
函数体
返回值;
}
function 函数体(参数列表){
函数体
返回值
}
1.函数必须调用才能执行,可以在声明之前调用,也可以在函数声明之后调用
2.函数名命名和变量一样, aaa bbb ccc aaaBbbCcc, 函数名称一定要有意义
3.函数在声明时不能重名
4.可以通过向函数传递参数,改变函数的行为
形参:就在声明函数时,声明的参数,参数就是变量,多个参数用,分开
实参: 调用 函数时传给形参数值(数据,也可以变量)
5.如果没有返回值则称为过程
6.通过使用return 语句返回数据
7.一个函数只能返回一个值执行到return语句就结束,所以不要在这个语句后写代码,也可以使用
return结束函数的执行
function 出差(谁, 目的地, 联系人,交通){
'''''''
return 出差的结果
}
领导2=出差(张三,上海, 王五, 飞机);
领导4=出差(李四, 大连, 赵六, 火车);
四、函数名的作用:
1. 调用函数,开始执行函数 2. 可以向函数中传递 数据 3. 函数名就是返回的值
五、PHP的变量的范围
局部变量: 在函数中声明的变量就是局部变量,只能在自己的函数内部使用。 全局变量: 在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包括在函数中和{}中都可使用 1.在PHP中使用全局变量 要通过global关键字将这个全局变量包括到函数中才能使用到,在global声明之后才是使用全局的变量 2.参数就是局部变量,这个局部变量可以调用时去赋值。
六、PHP的静态变量 static
1.静态变量只能声明在函数中(类中),不能在全局声明 2.使用static在变量前; 3.作用:
一个变量可以在同一个函数在多次调用中同用。
a. 静态变量在静态代码段中保存
b. 一个函数多次调用之间共用,但只在第一次调用函数时声明到内存,以后再调用,就不再声明,而直接使用
七、php几种函数类型
PHP给2000多个函数,都属于系统涵 数,都可以通过名称直接使用。
一定要先使用系统函数,如果系统函数没有你想要的功能,再去自己定义函数。
1. 函数的功能------------决定是否使用这个函数
2. 函数的参数------------决定函数怎么调用 ---有几个参,传什么类型的值,。。。。
3. 函数的返回值----------调用后怎么处理这个函数
一、常规函数
bool copy ( string source, string dest )
二、带有mixed , mixed表示可以传任何类型的数据
bool chown ( string filename, mixed user )
三、带有&参数的函数, 表示引用赋值, 这个参数不能传值,只能传一个变量,然后函数将变量的值改变,我们在使用这个变量时,值也是变化的
bool arsort ( array &array [, int sort_flags] )
四、默认函数 带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值
直接在声明函数时,就为参数给初值。
可选值和必须值, 必须从后向前设置
bool arsort ( array &array [, int sort_flags] )
五、带有...的参数函数, ...表示可以传任意多个参数
int array_unshift ( array &array, mixed var [, mixed ...] )
六、回调函数 带有callback, 就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)
array array_filter ( array input [, callback callback] )
七、变量函数:(将一个函数符给一个变量调用)即多态!如果一个变量后面有括号$var=hello $var(), 就将寻找与变量值同名的函数 hello();
八、内部函数: PHP可以在函数内部再声明函数,目的就是在函数的内部调用,用来帮助外部函数完成一些子功能的。
九、递归函数: 就是在自己内部调用自己的函数名
十、 重用函数(使用自己定义的函数库)
require: 用于静态包含
include: 用于动态包含
require_once
如果该文件中的代码已经被包含了,则不会再次包含 include_once
如果该文件中的代码已经被包含了,则不会再次包含
注意他们之间的区别
就是说再解析程序时即读取require的文件,而不是解析后,如果不能读取到被require的文件,就不能进行下一步动作。
require()函数,当“包括并运行指定文件”错误时,则导致一个“致命的错误”,也就是程序中止了运行,(Error)。
include()函数,当“包括并运行指定文件”错误时,则导致一个“警告的错误”,也就是程序还继续运行,(Warning)。
require() 无论如何都会包含文件,而 include() 可以有选择地包含
要注意 include_once() 和 require_once() 在大小写不敏感的操作系统中(例如 Windows)的行为可能不是所期望的。