一、函数概念
具有特定功能的可执行性代码的即可就是函数!
例如:abs();
函数分为:核心函数(php系统定义的),用户函数(用户脚本自定义的函数)
二、函数定义,使用
声明,定义一个函数
hanshudd.png
hanshudomhyi.png
调用,使用一个函数,函数名()。()调用操作符。
hanshudingyi1.png
注意
声明和调用谁在前?
声明在前。但是 在编译时,函数是预先被编译形成执行代码的。因此源代码的语法上,可以出现,先调用,后声明语法顺序!
shengming123.png
如果函数的定义,被放置在载入的文件内,则需要先载入!
hanshudingyi2.png
函数的定义可以出现在其他语句块内,但是必须保证语句块执行,函数的定义才会生效!
hanshudingyi3.png
三、函数名
函数名必须唯一
用户定义的不能相同,用户定义的不能与系统的重名
函数的组成:三部分:函数名,函数参数,函数体。
函数的标识符,调用函数,大小写不敏感!
hanshuming1.png
典型的命名方法,驼峰法!单词的首字母大写,第一个单词除外!
四、可变函数
函数的标识符(函数名),可以由一个变量来充当!意味着可以出现:$func();
kebianhanshu.png
作用在于:
可以动态确定当前所调用的函数名字!
例如:在处理图片时,会用到:
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromgif
功能相同,但是细节(图片类型)不同。
kebianhanshu1.png
五、匿名函数
php5.3增加!
匿名,没有名字。php允许存在没有名字的函数,称之为匿名函数!
基本语法:与普通函数相同,没有名字部分
niming.png
niming1.png
匿名函数的管理方式,不同于普通函数,类似于值(数据)的管理方式!将其保存在一个变量内!
niming2.png
匿名函数,是一个内置的Closure类的对象。
niming3.png
php的匿名函数如何实现的?
利用Closure类的对象实现!
tip:closure闭包的意思,导致,php的匿名函数也称之闭包函数!
匿名函数的调用
diaoyong.png
注意区分好 可变函数。变量的内容加以区分。
变量值为字符串,作为可变函数。
变量值为Closure对象,为匿名函数。
六、函数的参数
提供,函数运行时所依赖的数据!
形参,实参
形参,形式参数,函数声明时,用于表示函数需要哪些参数的语法,称之为形参!函数内部通过处理形参,完成逻辑功能!
实参,实际参数,函数被调用时,实际获得的参数数据,称之为实参!
xingcan.png
形参的值,最终是调用函数时,实参为其传递过来的!
谁调用,谁传参!
定义函数时,不用考虑参数来源问题!
调用时,发生了一个实参 为 形参 赋值的过程!
xingcan1.png
此时,如果实参 也是一个变量!
xingcan2.png
就相当于,发生了一个,实参变量 为 形参变量 赋值的过程!
两个变量间的赋值,出现了 值传递,和 引用传递的区别!
$name = $real_name;//值传递
$name = & $real_name;//引用传递
文章来至:http://www.codexueyuan.com/learn/learn-detail30-phphanshu
原文:http://blog.51cto.com/8584311/2089960