码迷,mamicode.com
首页 > Web开发 > 详细

php函数总结(闭包函数,匿名函数)

时间:2018-04-06 15:29:56      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:html   com   png   www.   就是   traits   www   合成   技术分享   

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函数总结(闭包函数,匿名函数)

标签:html   com   png   www.   就是   traits   www   合成   技术分享   

原文地址:https://www.cnblogs.com/fps2tao/p/8727482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!