php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。
闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。
1 2 3 |
|
闭包的几个作用:
1 减少foreach的循环的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
这里如果我们改造getTotal函数必然要使用到foreach
2 减少函数的参数
1 2 3 4 5 6 7 8 9 |
|
如果是使用平时的方法,我们会把inner放到html函数参数中,这样不管是代码阅读还是使用都不如使用闭包
3 解除递归函数
1 2 3 4 5 6 7 8 9 10 |
|
注意上题中的use使用了&,这里不使用&会出现错误n-1)是找不到function的(前面没有定义fib的类型)
所以想使用闭包解除循环函数的时候就需要使用
1 2 3 4 5 |
|
这样的形式
4 关于延迟绑定
如果你需要延迟绑定use里面的变量,你就需要使用引用,否则在定义的时候就会做一份拷贝放到use中
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
使用引用和不使用引用就代表了是调用时赋值,还是申明时候赋值
上面是我整理给大家的PHP闭包 function() use()中的详细使用方法,希望今后会对大家有帮助。
更多PHP相关技术文章,请访问PHP教程栏目进行学习!
以上是PHP闭包function() use()中的详细使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!