1.閉包函數也叫匿名函數,一個沒有指定名稱的函數,一般會用在回調部分 2.閉包作為回調的基本使用, echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello... ...
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) { var_dump($message); }; $example(); 使用use關鍵字把函數外面的父作用域的變數傳遞到了函數裡面 5.閉包函數變數賦值+()執行函數傳遞參數+use()關鍵字傳遞父作用域變數 $message="taoshihan"; $example = function ($arg) use ($message) { var_dump($arg . ' ' . $message); }; $example("hello"); //輸出string(15) "hello taoshihan"