PHP匿名函数(一)-创新互联
php的匿名函数是继php5.3之后新增添的功能,在越来越多的框架支持高版本的php之后,都有使用到此功能,手册上的解释比较生涩难懂,那么我们撇开手册不谈,以代码切入,希望让大家能更好的理解。
创新互联成立于2013年,先为斗门等服务建站,斗门等地企业,进行企业商务咨询服务。为斗门企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。一、变量函数
聊匿名函数之前,我们有必要说说变量函数
1 、首先,我们定义一个普通的函数
function test($a,$b){ return $a+$b; } $test = test(1,2); echo $test; //res = 32、将其改变为变量函数
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 的匿名函数主要的目的是为了这两个功能【闭包函数】、【回调函数】。
关于闭包和回调我们下篇文章再和大家聊聊。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:PHP匿名函数(一)-创新互联
链接分享:http://pwwzsj.com/article/cdijps.html