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