博客列表 >php函数进阶之自定义函数

php函数进阶之自定义函数

大林
大林原创
2019年11月27日 10:43:181659浏览

一、基本自定义函数语法

语法:function函数名(参数列表){函数体}。必须使用funtion声明。用return返回执行结果。
函数的参数分:行参,实参。
行参:在参数列表内的就叫行参。
实参:函数体内的,调用的方法实际参数就叫实参。
行参跟实参要一一对应,其中行参必须有,实参配合行参。在参数列表、函数体内创建的函数不能再外部使用,使用就报错。

二、自定义函数的默认值

形参有默认值,sum(20,10),实参就不用再传,我们传入两个值,两个值顺序一一对应。
自定义函数和函数不受代码上下顺序控制。

三、函数不固定参数的数量
func_num_args:获取实参的数量
func_get_args:获取实参的值(数组)

下图是参数累加…$a为点语法,代表123456789,可以代替 func_get_args.

在写自定义函数方法时:
1、名字要根据功能起。2、参数有多少个要写出来。3、参数的类型要写出来。4、返回值要写出来。

四、函数的返回值

可以返回整数、字符串等类型,如果要返回多个数值,就返回数组。
自定义函数可以限制返回值:
function函数名(参数列表):类型{函数体}
类型:
int整数
string字符串
float浮点数
array数组
object对象
如果函数不限定类型的话,就会直接强制转换类型。

五、函数中的变量访问

在函数中不能直接访问外部变量,通过globals声明变量可以访问外部变量。globals的解释就是超全局变量。
下图$name=’天才’;是变量。

变量创建后会存在$GLOBALS中,会把变量名作为下标。

常量可以调用,但设置就不会更改,define是设置常量。

六、匿名函数与闭包

匿名函数也叫闭包函数,允许创建一个没有指定名称的函数,也经常用作回调函数(callback)参数的值。

匿名函数赋值给$sum,作为变量结尾是要有};结束符的。这个变量$a跟$b是没有值的,返回值$a+$b是变量,所以最后调用$sun(10,20),得到结果30.

闭包可以拿来排序,计算机拿每次拿两组数字来对比,调整位置最后排序。其中变量第二个参数只看true和false。
其中有太空舱操作符:<=>,可以判定大小,也可以实现排序功能。

闭包函数是不允许调用外部变量的,use是全局变量,所以通过use调用外部变量$name=’天才’;

use()它的作用是把()里的变量和外部的变量连在一起。

由上图可以看出我们将实参$v里面的age加了1,但是我们打印出来的数组却没有变化,是因为$v定位的是整个数组$arr,我们特别指定$age加1,就要在行参里面进行定位foreach ($arr as $f=>$v),我们用&起址符就可以直接在foreach ($arr as &$v)里面定位输出。

总结:

在进行自定义函数作业的时候,其实是越做越晕的,然后这份作业其实应该花了起码8个小时吧,各种循环数组基础知识没打稳,其他的知识其实就很难深入理解,经过2天的操作测试,现在自定义函数啊,闭包啊,感觉是差不多了,可能明天又会全忘掉,前面的其他内容要再复习,我把电脑上的时间显示给关了,忘了时间我发现更容易聚精会神。老师讲课的时候其实可以只管自己讲,你讲课的时候我们都聚精会神的听得,你讲群里面的东西,我的注意力就会被散开,再进入那个状态就会很难得,尽量不要讲时间还剩多少,因为我发现最后十几分钟讲的最多,但是每次的最后十几分钟其实都没听进去。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议