匿名函數(Anonymous functions),也叫閉包函數(closures),允許暫時建立一個沒有指定名稱的函數。
匿名函數的好處
1、非匿名函數在定義時就創建函數對象和作用域對象,以後及時未調用,也佔空間
2、匿名函數只有在呼叫時,才會建立函數物件和作用域物件。調用完後立即釋放,節省記憶體。
php中匿名函數的使用
1、作為回呼函數使用
<?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // 输出 helloWorld
2、作為變數賦值
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP');
輸出:
3、 從父作用域繼承變數
<?php $message = 'hello'; // 没有 "use" $example = function () { var_dump($message); }; echo $example(); // 继承 $message $example = function () use ($message) { var_dump($message); }; echo $example();
輸出:
以上是PHP匿名函數可以做什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!