php函数总结
1.普通函数
2.变量函数
function myfun($a){ ???echo $a;}$b = "myfun";$b("test");
3.匿名函数(可以实现闭包)
匿名函数(Anonymous functions),也叫闭包函数(Closures),允许临时创建一个没有指定名称的函数,经常用作回调函数(callback)的参数,当然也有其他应用情况
$func = function() {};//要带分号$func() //调用var_dump($func);//返回对象类型 object(Closure)#1 (0) { }
4.闭包函数:将匿名函数在普通函数中当做参数出入,也可以被返回,就实现了一个简单的闭包.
通俗的说,子函数可以使用父函数中的局部变量,这种行为就叫做闭包.
闭包的特点:
1.作为一个函数变量的一个引用,当函数返回时,其处于激活状态.
2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区
--其实上面两点可以合成一点,就是闭包函数返回时,该函数内部变量处于激活状态,函数所在栈区依然保留.
function myfunc(){ ???$a=10; ???$b=11; ???$one = function($str)use(&$a,$b){//use引用外层变量 不加&传副本不影响父函数值 ???????echo $a=$a+2; ???????echo ‘<br/>‘; ???????echo $b=$b+2; ???????echo ‘<br/>‘; ???????echo $str; ???}; ???echo $a; ???echo ‘---<br/>‘; ???echo $b; ???echo ‘---<br/>‘; ???return $one;}$a = myfunc();$a(‘你好‘);
父函数中把匿名函数作为返回值返回,闭包的一种..
5.内部函数
扩展知识php:USE关键词的用法
1.命名空间
2.闭包函数上下文
3.Trait代码复用时 引用.... (参考http://php.net/manual/zh/language.oop5.traits.php)
上一篇文章:http://www.cnblogs.com/fps2tao/p/8727248.html
php函数总结(闭包函数,匿名函数)
原文地址:https://www.cnblogs.com/fps2tao/p/8727482.html