[英]Self Executing functions in PHP5.3?
我試圖從JS到PHP借用一些編程范例(只是為了好玩)。 有辦法嗎?
$a = (function(){
return 'a';
})();
我在想,通過組合use
這可以成為隱藏變量JS風格的好方法
$a = (function(){
$hidden = 'a';
return function($new) use (&$hidden){
$hidden = $new;
return $hidden;
};
})();
現在我需要這樣做:
$temp = function(){....};
$a = $temp();
這似乎毫無意義......
函數調用鏈接,例如foo()()
正在討論PHP5.4。 在那之前,使用call_user_func
:
$a = call_user_func(function(){
$hidden = 'a';
return function($new) use (&$hidden){
$hidden = $new;
return $hidden;
};
});
$a('foo');
var_dump($a);
得到:
object(Closure)#2 (2) {
["static"]=>
array(1) {
["hidden"]=>
string(3) "foo"
}
["parameter"]=>
array(1) {
["$new"]=>
string(10) "<required>"
}
}
從PHP7開始,您可以立即執行如下匿名函數:
(function() { echo 123; })(); // will print 123
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.