什麼是閉包?閉包就是能夠讀取其他函數內部變數的函數。例如在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 %s\r\n", $name);
};$greet('World');
閉包函數賦值給了一個變量,這個變數直接跟()小括號就是執行這個函數,小括號裡面的參數會傳遞到閉包函數裡面去
4.閉包函數從父作用域繼承變數的使用$message = 'hello';$example = function () use ($message) { ## };$example();
使用use關鍵字把函數外面的父作用域的變數傳遞到了函數裡面5.閉包函數變數賦值()執行函數傳遞參數use()關鍵字 傳遞父作用領域變數$message="taoshihan";$example = function ($arg) use ($message) { var_dump($arg . ' ' . $message);
};$example("hello"); //輸出string(15) "hello taoshihan"
以上是PHP中的閉包的詳細內容。更多資訊請關注PHP中文網其他相關文章!