首頁  >  文章  >  後端開發  >  PHP中的閉包

PHP中的閉包

山海
山海轉載
2019-09-19 17:30:113822瀏覽

什麼是閉包?閉包就是能夠讀取其他函數內部變數的函數。例如在javascript中,只有函數內部的子函數才能讀取局部變量,所以閉包可以理解成「定義在一個函數內部的函數」。在本質上,閉包是將函數內部和函數外部連接起來的橋樑,本文將重點放在php中的閉包。

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中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除