我很好奇 PHP 是否可以处理这样的代码,或者我是否使用了错误的语法:
$someString = implode(', ', function(){
return array('a', 'b', 'c');
});
期望的输出是a, b, c
.
我正在使用 PHP 5.3.3 版。
我很好奇 PHP 是否可以处理这样的代码,或者我是否使用了错误的语法:
$someString = implode(', ', function(){
return array('a', 'b', 'c');
});
期望的输出是a, b, c
.
我正在使用 PHP 5.3.3 版。
第二个参数implode()
接受一个数组,所以你必须立即执行闭包:
$someString = implode(', ', call_user_func(function(){
return array('a', 'b', 'c');
}));
可以说拥有这个会更好:
$someString = implode(', ', function(){
return array('a', 'b', 'c');
}());
但这会导致解析错误。
另一种可接受的方式:
$myGenerator = function(){
return array('a', 'b', 'c');
};
$someString = implode(', ', $myGenerator());