PHP中的閉包

2020-07-16 10:05:46
什麼是閉包?閉包就是能夠讀取其他函數內部變數的函數。例如在javascript中,只有函數內部的子函數才能讀取區域性變數,所以閉包可以理解成「定義在一個函數內部的函數「。在本質上,閉包是將函數內部和函數外部連線起來的橋樑,本文著重介紹php中的閉包。

1、閉包函數也叫匿名函數,一個沒有指定名稱的函數,一般會用在回撥部分

2、閉包作為回撥的基本使用,echo preg_replace_callback('~-([a-z])~', function ($match) {

return strtoupper($match[1]);

}, 'hello-world');

第三個引數是要匹配的目標字串,第二個引數是一個匿名函數,當preg_replace_callback執行的時候,會回撥匿 名函數,並且把匹配到的結果,作為匿名函數的引數傳遞進

3.閉包函數變數賦值的使用$greet = function($name)
{ printf("Hello %srn", $name);
};$greet('World');
閉包函數賦值給了一個變數,這個變數直接跟()小括號就是執行這個函數,小括號裡面的引數會傳遞到閉包函數裡面去

4.閉包函數從父作用域繼承變數的使用$message = 'hello';$example = function () use ($message) { var_dump($message);
};$example();
使用use關鍵字把函數外面的父作用域的變數傳遞到了函數裡面5.閉包函數變數賦值+()執行函數傳遞引數+use()關鍵字 傳遞父作用域變數$message="taoshihan";$example = function ($arg) use ($message) { var_dump($arg . ' ' . $message);
};$example("hello"); //輸出string(15) "hello taoshihan"

以上就是PHP中的閉包的詳細內容,更多請關注TW511.COM其它相關文章!