通常來說,閉包也就是PHP的匿名函數(shù), 但是和函數(shù)不同的是,閉包可以通過use使用函數(shù)聲明時(shí)所在作用域的變量的值。
具體形式如下:
1$a = function($arg1, $arg2) use ($variable) {
2// 聲明函數(shù)閉包到變量$a, 參數(shù)為$arg1, $arg2 ,該閉包需使用$variable變量
3}
具體用法實(shí)例如下:
01<?php
02$result = 0;
03
04$one = function()
05{ var_dump($result); };
06
07$two = function() use ($result)
08{ var_dump($result); }; // 可以認(rèn)為 $two這個(gè)變量 本身記錄了該函數(shù)的聲明以及use使用的變量的值
09
10$three = function() use (&$result)
11{ var_dump($result); };
12
13$result++;
14
15$one(); // outputs NULL: $result is not in scope
16$two(); // outputs int(0): $result was copied
17$three(); // outputs int(1)
18?>
更多信息請(qǐng)查看IT技術(shù)專欄