PHP函数
Posted 澎湃_L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP函数相关的知识,希望对你有一定的参考价值。
一、基本概念
①函数是模块化程序的产物,在实际开发过程中,将一个项目划分为各个大的功能模块,同时大的功能模块划分为小的功能,再使用函数将这个最小的功能(一个动作)实现。
②从代码上看,函数就是使用{ } ,将完成某一功能的代码括起来(封装),再使用function关键字,为这个代码设置一个名字,这个名字就是函数名,函数名后必须有(),这个()表示函数只能被调用。
二、声明语法
function funName(形参列表){
函数体
【return】值
}
三、函数调用:funName(实参列表)
四、函数名
①php中函数名是不区分大小写的,但是建议驼峰式命名
②函数名的命名规则和变量的命名规则相同,只能包含字母、数字、下划线、而且以字母或者下划线开头
五、可变函数
①概念:如果$a变量的值是另一个函数名,那么可以使用这个变量来访问函数
②使用场景:将收到的数据保存在一个变量中,再用可变变量动态的调用函数
六、函数的参数
①形参:函数定义时的参数就是形参,形参只对内部有效,对外无效,形参是被动的接受数据
②实参:函数调用时的参数就是实参,实参主动向函数内部传递实际的数据,形参和实参让函数更具有调用性
③形参的默认值:PHP中定义函数时可以为形参赋值一个值,这个值就是形参的默认值。如有为具有默认值的形参传递数据,那么这个形参使用实际传递过来的数据,一般具有默认值的形参位于形参列表的最后位置
④引用传值:PHP中可以在形参前加$符号,将实参之间默认的赋值传值,更改为引用传值
七、函数体:完成某一功能的代码段
八、return语句
①在使用函数完成某一些功能时,有时会将函数计算的数据传递出来,此时可以使用return
②程序是用于处理数据的,函数所处理的数据具有两个方向,其一从外到内,使用实参和形参,其二,从内到外,使用return
③函数内部可以有多个return,只要遇到一个return,就会中断函数的执行,函数内部也可以省略return语句
九、匿名函数
①没有名字的函数就是匿名函数,也称之为闭包函数,如果是匿名函数,必须以分号结尾
②javascript中的函数可以自调用,但是PHP中的函数没有办法自调用
③PHP中的匿名函数,可以赋值给另外一个变量,
④PHP中的匿名函数还可以用于某个函数的参数,这就是回调函数callback:在实际开发中,使用别人的函数或者系统函数,函数需要传入参数,作为参数传递的函数就是回调函数
十、伪类型(函数)
①mixed 表示类型不确定
②callback 表示函数
③scalar 如果是int、float、string、bool
十一、相关函数(系统函数)
①func_get_args( ) 用于获取实参,并以数组形式返回
②func_get_arg( ind) 用于获取ind小标指定的实参
③func_num_args( ) 用于获取实参的个数
十二、函数运行的内存原理
十三、作用域
①定义:在PHP中函数是用于封装某一功能的代码段,函数在对代码进行封装会有一些影响,php中分两种作用域,全局作用域和局部作用域
②全局作用域和全局变量:在函数外部定义的变量,其作用域就是全局作用域,变量就是全局变量
③局部作用域和局部变量:在函数外部定义的变量,其作用域就是局部作用域,变量就是局部变量
④提示:默认PHP中有很清晰的作用域,外部只能访问外部的,内部只能访问内部的,这一点和JavaScript有所不同
⑤外部访问内部或者内部访问外部的方法
- 通过参数的引用传值方式实现内部的局部变量访问外部的全局变量
- 通过GLOBALS可以实现内部的局部变量访问外部的全局变量
- global关键字方法可以实现内外互访,语法是global变量名,在函数内部建立一个与函数外部同名的变量引用,如果外部没有这样的同名变量,会在外部创建一个同名的变量
⑥常量的作用域:常量没有作用域的限制,一个脚本的常量,在任何的位置都就可以访问
⑦预定义变量(超全局变量):不受作用域的限制
十四、变量的生命周期
①作用域与生命周期:作用域表示的是一个变量的作用空间范围,生命周期表示的是一个变量的作用时间范围
②全局变量的生命周期:从脚本执行开始开始到脚本执行结束
③局部变量的生命周期:从函数执行开始到函数执行结束
十五、静态变量
①定义:在函数内部使用,static声明的变量
②原理:静态变量在函数多次被调用同时只会被初始化一次,并且静态变量的值不会随着函数的执行而被回收
③提示:静态变量的使用场景,如果想在同一个函数多次调用时,共享一份数据
十六、日期时间函数
①time()用于获取当前时间戳,单位秒
②microtime()单位,毫秒
③date()用于格式化时间休息
④maktime(时,分,秒,月,日,年)
⑤strtotime()将一个以字符的形式,
十七、递归
①函数自己调用自己
②特点:完成一个需求有多个步骤,但完成每一步所实现的代码是相似的,只有函数所传递的参数不同而已
以上是关于PHP函数的主要内容,如果未能解决你的问题,请参考以下文章