PHP閉包定義與使用簡單示例

2022-10-06 07:21:14 字數 999 閱讀 3082

<?php function getclosure($i);}

$c = getclosure(123);

$i = 456;

$c('test');

sleep(3);

$c2 = getclosure(123);

$c2('test');

$c('test');

/*output:

--- param: test ---

--- i: 123-21:36:52 ---

--- param: test ---

--- i: 123-21:36:55 ---

--- param: test ---

--- i: 123-21:36:52 ---

*/再來乙個例項

$message = 'hello';

$example = function() use ($message);

echo $example();

//輸出hello

$message = 'world';

//輸出hello 因為繼承變數的值的時候是函式定義的時候而不是 函式被呼叫的時候

echo $example();

//重置為hello

$message = 'hello';

//此處傳引用

$example = function() use(&$message);

echo $example();

//輸出hello

$message = www.cppcns.com'world';

echo $example();

//此處輸出world

//閉包函式也用於正常的傳值

$message = 'hello';

$example = function ($data) use ($message),";

};echo $example('world');

//此處輸出world,hello

php閉包使用例子

一.依據閉包實現乙個容器 classdi public function get id class user public function getusername di new di 在此使用了閉包,所以實際上並不會例項化user類,只有在後面get的時候才會例項化 di set a functi...

Swift 閉包簡單使用

playground noun a place where people can play import uikit var str hello,playground 閉包 closures 閉包 是自包含的 塊,可以在 中被傳遞和使用 閉包可以捕獲和儲存其所在上下文中任意常量和變數的引用,這就是所...

php含有閉包特殊使用

討論寫法,形式如下,呼叫以閉包為引數的函式 getvalues attrib 含義。以下是乙個獲取 attribs陣列鍵為value的值edward複雜寫法。這種算是自找虐吧。attribs name first name value edward ex function t use attribs...