PHP闭包函数的高级(骚气)用法

<?php
$a = 1;
$b = 2;
$c = 3;
$d = (function ($a,$b)use($c){return $a.$b.$c;})($a,$b);
$e = (function ($a,$b)use($c){return $a.$b.$c;});
var_dump($d);

var_dump($e);
exit;

以上例程会输出:

string(3) “123”

a"]=> string(10) "<required>" ["”/></figure>



<p>object(Closure)#1 (2) {<br>[“static”]=><br>array(1) {<br>[“c”]=><br>int(3)<br>}<br>[“parameter”]=><br>array(2) {<br>[“b”]=><br>string(10) “<required>”<br>}<br>}</p>



<p>可以看到,一种神奇的用法,将闭包函数的起那面用小括号包着,作为函数名。后面的小括号接收参数。没有花括号的方法体。<br>PHP官方文档有介绍,函数的方法体是可以省略的。</p>



<p>闭包加上…动态参数操作符,就更加灵活了。</p>
<link rel=打赏作者

发表评论

电子邮件地址不会被公开。