閉包函數:暫時建立一個沒有名稱的函數,並且經常被當作回呼函數。 (推薦學習:PHP影片教學)
通俗的說就是:子函數可以使用父函數中的局部變量,這種行為叫做閉包。
匿名函數賦值
$demo=function($str){ echo $str; } $demo('hello,world');
閉包可以從父作用域繼承變量,任何此類型變數都應該用use語言結構傳遞進去。
$message='hello'; $example=function() use ($message){ var_dump($message); }; echo $example();
閉包的優點:
#能夠讀取函數內部的變數;
#讓這些變數一直存在於記憶體中,不會在呼叫結束後,被垃圾回收機制回收
#閉包的缺點:
正所謂物極必反,由於閉包會使函數中的變數保存在記憶體中,記憶體消耗很大,所以不能濫用閉包,解決辦法是,退出函數之前,將不使用的局部變數刪除。
以上是php閉包的優缺點的詳細內容。更多資訊請關注PHP中文網其他相關文章!