分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP ?匿名函数(一)

发布时间:2023-09-06 01:40责任编辑:傅花花关键词:PHP匿名函数
  php的匿名函数是继php5.3之后新增添的功能,在越来越多的框架支持高版本的php之后,都有使用到此功能,手册上的解释比较生涩难懂,那么我们撇开手册不谈,以代码切入,希望让大家能更好的理解。


 一、变量函数

    聊匿名函数之前,我们有必要说说变量函数

     1 、首先,我们定义一个普通的函数

    function test($a,$b){       return $a+$b;    }    $test = test(1,2);    echo $test;   //res = 3

     2、将其改变为变量函数

    function test($a,$b){return $a+$b;}$test  = 'test';echo  $test(1,2); //res  = 3

    变量函数就是把函数名赋值给一个变量,然后使用 $test() 或者有参数时$test(1,2) 如此这般来使用。


 二、匿名函数

    1、匿名函数定义    

      匿名函数,顾名思义就是没有函数名的函数。

       我们把上面例子中的函数名称去掉就是匿名函数了,如下: 

        function (){                   };  //这段代码就是没有函数名称的匿名函数的主体部分了,切记【末尾需要加上分好】               $test = function(){           return '1111111111111';        };                 $test  = function($a,$b){            return $a + $b;        };  // 这段代码就是一个标准的匿名函数了,有函数主体,有返回值,这里的返回值不是return,而是返回给了变量$test。

        至于为什么末尾要加分号,你可以这样理解:   

        一个普通变量的赋值 $name = 'zhangsan';  变量赋值是需要在末尾加分号的。

       这里是匿名函数,同样也是变量的赋值,所以加上分号也好理解了。

     

    2、匿名函数使用

           $test = function(){               return '1111111111111';           };            echo $test(); //和变量函数一样                   $test  = function($a,$b){              return $a + $b;           };           echo $test(1,2); //同理,传入参数


 三、疑问(匿名函数的意义)

      看到这里,大家难免有疑问,这个变量函数我们用的都比较少,这个匿名函数视乎并没有普通函数来的实现,那这个匿名函数存在的意义是什么呢?

      匿名函数在设计时,并不是为了跟随模仿js而来的,php 的匿名函数主要的目的是为了这两个功能【闭包函数】、【回调函数】。

      关于闭包和回调我们下篇文章再和大家聊聊。




   


PHP ?匿名函数(一)

原文地址:http://blog.51cto.com/13595374/2068472

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved