PHP 5.3 添加了对闭包的支持,我想知道您是否可以关闭特定的数组元素而不是整个数组。
例如,您可以这样做:
$a = array('a', 'e', 'i', 'o', 'u');
$f = function($b) use($a){
echo $a[2].$b;
};
$f('!'); // echos "i!"
但是有没有办法只关闭周围$a[2]
?可能是这样的:
$f = function($b) use($a[2] as $c){
echo $c.$b;
};
这不起作用,它给出:
解析错误:语法错误,意外的 '[',期待 ',' 或 ')'
显然,我可以这样做:
$c = $a[2];
$f = function($b) use($c){
echo $c.$b;
};
但是,我认为必须有比这更好的方法。那么,有没有办法只关闭数组中的特定变量?