介绍
这篇文章将为大家详细讲解有关PHP中匿名函数的使用技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
PHP中的匿名函数也叫闭包函数允许指定一个没有名称的函数。把匿名函数赋值给变量,通过变量来调用,举个简单的例子:
& lt; ?php $ anonymousFunc=函数(用户名){ echo $用户名; }; anonymousFunc美元(“乔峰!“);
<>强技巧1:强>,将匿名函数放在普通函数中,也可以将匿名函数返回,:这样就构成了一个简单的闭包
& lt; php ? 函数closureFunc () { $ anonymousFunc=function () { 回声“乔峰!“; }; 美元anonymousFunc();//普通函数内部调用了匿名函数 } closureFunc();//输出:乔峰
<>强技巧2 强>,在匿名函数中引用局部变量(这里要引用一个php的关键字使用)
& lt; php ? 函数closureFunc () { $ username=& # 39;乔峰& # 39;; $ anonymousFunc=function()使用(用户名美元){ echo $用户名; }; 美元anonymousFunc();//此处调用了匿名函数 } closureFunc();//输出:乔峰
<>强技巧3 强>,在普通函数中返回匿名函数
& lt; php ? 函数closureFunc () { $ username=& # 39;乔峰& # 39;; $ anonymousFunc=function()使用(用户名美元){ echo $用户名; }; 返回anonymousFunc美元;//函数返回匿名函数 } $函数=closureFunc (); 美元func ();//然后调用美元func ()
<>强技巧4 >强返回匿名函数并给匿名函数传参
& lt; php ? 函数closureFunc () { $ username=& # 39;乔峰& # 39;; $ anonymousFunc=函数(情人,技能美元)使用(用户名){ echo $用户名。情人。美元技能; }; 返回anonymousFunc美元; } $函数=closureFunc (); $ func(“阿朱“,“擒龙手“);//乔峰阿朱擒龙手
<>强技巧5 强>使用闭包改变上下文引用的变量值
& lt; php ? 函数closureFunc () { 数量=100美元; (anonymousFunc=()函数使用美元数字){ $ + +数量; echo $ number.PHP_EOL; }; echo $ number.PHP_EOL; 返回anonymousFunc美元; } $函数=closureFunc();//这里输出,直接调用本函数的回声number.PHP_EOL美元;即为100 美元func();//调用函数的返回值anonymousFunc数量+ +美元即为101 美元func ();//101 101美元func ();//
上面的输入结果,发现后面的两个函数()均返回101年,值并未发生改变,如果要累积+ +效果,只要加一个,引用符号就可以了(匿名函数内的修改也会影响外部变量),修改下:
& lt; php ? 函数closureFunc () { 数量=100美元; $ anonymousFunc=function()使用(和数量美元){ $ + +数量; echo $ number.PHP_EOL; }; echo $ number.PHP_EOL; 返回anonymousFunc美元; } $函数=closureFunc();//这里输出,直接调用本函数的回声number.PHP_EOL美元;即为100 美元func();//调用函数的返回值anonymousFunc数量+ +美元即为101 美元func ();//102 103美元func ();//
<>强技巧6 强>把匿名函数当作参数传递
& lt; php ?//定义普通函数,anonymousFunc为参数变量 函数myFunc (anonymousFunc美元){ anonymousFunc美元(“乔峰“); } myFunc(功能(用户名美元){//这里调用普通函数,并把匿名函数作为参数传给了myFunc中的anonymousFunc美元 echo $用户名; });//输出乔峰
关于PHP中匿名函数的使用技巧有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。