本篇文章次要讲述的是匿名函数的六个应用技术,具备肯定的学习代价,感兴味的冤家能够学习一下。
以前写过一篇闭包的应用(点击此处进入),此次深化汇总下php中匿名函数的深化用法以及了解:
php中的匿名函数 也叫闭包函数 容许指定一个不称号的函数。把匿名函数赋值给变量,经过变量来挪用,举个简略的例子:
<?php$anonymousFunc = function($username){ echo $username; }; $anonymousFunc("乔峰!");
技术1: 将匿名函数放正在一般函数中,也能够将匿名函数前往,:这样就形成了一个简略的闭包
<?php function closureFunc(){ $anonymousFunc = function(){ echo "乔峰!"; }; $anonymousFunc();//一般函数外部挪用了匿名函数 } closureFunc();//输入: 乔峰
技术2 正在匿名函数中援用部分变量(这里要援用一个php的要害字 use)
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function() use($username){ echo $username; }; $anonymousFunc();//此处挪用了匿名函数 } closureFunc();//输入: 乔峰
技术3 正在一般函数中前往匿名函数
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function() use($username){ echo $username; }; return $anonymousFunc;// 函数前往匿名函数 } $func = closureFunc(); $func(); //而后挪用$func()
技术4 前往匿名函数并给匿名函数传参
<?php function closureFunc(){ $username = '乔峰'; $anonymousFunc = function($lover,$skill) use($username){ echo $username.$lover.$skill; }; return $anonymousFunc; } $func = closureFunc(); $func("阿朱","擒龙手");//乔峰阿朱擒龙手
技术5 应用闭包扭转上下文援用的变量值
<?php function closureFunc(){ $number = 100; $anonymousFunc = function() use($number) { $number++; echo $number.PHP_EOL; }; echo $number.PHP_EOL; return $anonymousFunc; } $func = closureFunc();// 这里输入1,间接挪用本函数的 echo $number.PHP_EOL; 即为100 $func();// 挪用函数的前往值 $anonymousFunc $number++ 即为101 $func(); //101 $func();//101
下面的输出后果,发现前面的两个func()均前往 101,值并未发作扭转,假如要累积++成果, 只需加一个 & 援用符号就能够了(匿名函数内的修正也会影响内部变量),修正下:
<?php function closureFunc(){ $number = 100; $anonymousFunc = function() use(&$number) { $number++; echo $number.PHP_EOL; }; echo $number.PHP_EOL; return $anonymousFunc; } $func = closureFunc();// 这里输入1,间接挪用本函数的 echo $number.PHP_EOL; 即为100 $func();// 挪用函数的前往值 $anonymousFunc $number++ 即为101 $func(); //102 $func();//103
技术6 把匿名函数当做参数通报
<?php //界说一般函数,anonymousFunc 为参数变量 function myFunc($anonymousFunc){ $anonymousFunc("乔峰"); } myFunc(function($username){ //这里挪用一般函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc echo $username; });//输入 乔峰
相干教程:PHP视频教程
以上就是【PHP学习】 匿名函数的六个应用技术的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 匿名函数
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!