<?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"
object(Closure)#1 (2) {
["static"]=>
array(1) {
["c"]=>
int(3)
}
["parameter"]=>
array(2) {
["b"]=>
string(10) "<required>"
}
}
可以看到,一种神奇的用法,将闭包函数的起那面用小括号包着,作为函数名。后面的小括号接收参数。没有花括号的方法体。
PHP官方文档有介绍,函数的方法体是可以省略的。
闭包加上...动态参数操作符,就更加灵活了。
网友评论