6.PHP函数
1.函数:封装一段用于完成特定功能的代码,当使用一段函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能
2.函数的组成:
关键字function() :在声明函数时必须使用的关键字
函数名:要符合php的标识符,且函数名是唯一的,不区分大小写
参数:外界传递给函数的值,它是可选的,多个参数之间使用逗号“,”分隔
函数体:函数定义的主体,专门用于实现特定功能的代码段
返回值:需要使用return关键字将需要返回的数据传递给调用者
function 函数名([参数1,参数2…….])
{
函数体……
}
4.参数设置:对于函数来说,参数的不同设置,决定了其调用和使用方式
eg:
function shout(){
return ‘come on’;
}
echo shout();//输出结果 come on
3.函数的嵌套调用:指的是在调用一个函数的过程中,调用另外一个函数,这种在函数内调用其他函数的方式称为嵌套调用
4.递归调用:是函数嵌套调用中一种特殊的调用,它指的是一个函数在其函数体内调用自身的过程,称为递归函数
5.可变函数: 可变变量,它的实现是在一个变量前添加一个$符号,就变成了另外一个变量,同理,可变函数的实现就是在一个变量后添加一对圆括号“()”,让其变成一个函数的形式,然后PHPZ就寻找与变量值同名的函数,并且尝试执行它
6.回调函数(callback):指的就是具有callback类型的函数,一般用作参数的传递,如PHP内置函数call_user_func()可以接受用户自定义的回调函数作为参数
7.匿名函数:就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题
匿名函数中使用外部的变量,需要通过use关键字实现,use关键字后圆括号()中的内容即为要使用的外部变量列表,多个变量之间使用英文“,”分隔即可
变量保存匿名函数,本质得到的是一个对象(closure)
闭包:函数内部有一些局部变量(要执行的代码块)在执行之后没有被释放,因为在函数内部有对应的函数在引用(函数的内部函数)
证明:函数的局部变量在函数使用完之后没有被释放
1.使用内部匿名函数
2.匿名函数使用变量:use
3.匿名函数被返回给外部使用
8.字符串函数
9.数学函数:
10.时间日期函数
11.打开PHP官网 http://php.net 点击导航栏的Documentation,切换到PHP手册文档页面,在”View Online” 在线手册查看页面选择
————恢复内容开始————
1.函数:封装一段用于完成特定功能的代码,当使用一段函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能
2.函数的组成:
关键字function() :在声明函数时必须使用的关键字
函数名:要符合php的标识符,且函数名是唯一的,不区分大小写
参数:外界传递给函数的值,它是可选的,多个参数之间使用逗号“,”分隔
函数体:函数定义的主体,专门用于实现特定功能的代码段
返回值:需要使用return关键字将需要返回的数据传递给调用者
function 函数名([参数1,参数2…….])
{
函数体……
}
4.参数设置:对于函数来说,参数的不同设置,决定了其调用和使用方式
形参:形式参数,不具有实际 意义的参数,是在函数定义时使用的参数
实参:实际参数,具有实际数据意义的参数,是在函数调用时,使用的参数
eg:
function shout(){
return ‘come on’;
}
echo shout();//输出结果 come on
引用传值注意事项:在传入实参时,必须传入变量
返回值:
return终结者:
3.函数的嵌套调用:指的是在调用一个函数的过程中,调用另外一个函数,这种在函数内调用其他函数的方式称为嵌套调用
4.递归调用:是函数嵌套调用中一种特殊的调用,它指的是一个函数在其函数体内调用自身的过程,称为递归函数
5.可变函数: 可变变量,它的实现是在一个变量前添加一个$符号,就变成了另外一个变量,同理,可变函数的实现就是在一个变量后添加一对圆括号“()”,让其变成一个函数的形式,然后PHPZ就寻找与变量值同名的函数,并且尝试执行它
6.回调函数(callback):指的就是具有callback类型的函数,一般用作参数的传递,如PHP内置函数call_user_func()可以接受用户自定义的回调函数作为参数
7.匿名函数:就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题
匿名函数中使用外部的变量,需要通过use关键字实现,use关键字后圆括号()中的内容即为要使用的外部变量列表,多个变量之间使用英文“,”分隔即可
8.字符串函数
9.数学函数:
10.时间日期函数
11.打开PHP官网 http://php.net 点击导航栏的Documentation,切换到PHP手册文档页面,在”View Online” 在线手册查看页面选择
12.调用函数:
13.作用域:1.变量(常量)能够被访问的区域 2.变量也可以在函数内部定义
全局变量 局部变量 超全局变量
14.编程思想:如何利用数学模式来解决对应的需求问题,然后利用代码实现对应的数据模型(逻辑)
算法:使用代码实现对应的数学模型,从而解决对应的业务问题
递推算法:是一种简单的算法,即通过已知条件,利用特定关系,得出中间推论,直至得到结果的算法分为顺推和逆推两种
顺推:通过最简单的条件,逐步推演结果
逆推:通过结果找到规律,推到已知条件
递推算法求斐波那契数列:
15.递归算法:把问题转化为规模缩小了的同类问题的子问题,然后递归调用,函数(或过程)来表示问题的解
a.简化问题 找最优子问题(不能再小)
b.函数自己调用自己
递归思想中:有两个非常重要的点
递归点:发现当前问题有解决当前问题的额函数,去解决规模比当前小一点的 问题来解决
递归出口:当问题解决的时候,已经到达(必须有)最优子问题,不能再次调用函数
如果一个函数递归调用自己而没有递归出口:就是死循环
递归的本质是函数调用函数:一个函数需要开辟一块内存空间,递归会出现同时调用N多个函数(自己):递归的本质是利用空间换时间
16.静态变量:static ,是在函数内部定义的变量,使用static的关键字修饰,用来实现跨函数共享
数据的变量:函数运行结束所有局部变量都会清空,如果重新运行一下函数,所有的局部变量又会重新初始化
基本语法:
funcation 函数名(){
//定义变量
static $变量名 = 值; //通常会在定义的时候就直接赋值
}
静态变量的作用是为了跨函数共享数据(同一个函数被多次调用)
静态变量的使用:
1.为了统计:当前函数被调用的次数(有么有替代方法)
2.为了统筹函数多次调用得到的不同结果(递归思想)
17.可变函数:当前有一个变量所保存的值,刚好是一个函数的名字,那么就可以使用变量+[]充当函数名使用
回调函数:
18.伪类型:假类型,实际在php中不存在的类型,但是通过伪类型可以帮助程序员更好的查看操作手册从而更方便学习