cierres de función de PHP (funciones anónimos)

/**
 *普通函数
 */
public function normal($data) {
	echo $data;
}

-------------------------------------------
/**
 *闭包函数(匿名函数)
 */
 $closure = function($data) {
	echo $data;
};

//调用闭包函数
$closure('这是闭包函数调用');
//输出:
//这是闭包函数调用

------------------------------------------
/**
 *带关键字use的闭包
 *PHP在默认情况下,匿名函数不能调用所在代码块的上下文变量,而需要通过使用use关键字
 */
 $num = 1;
 $closure = function($data) use ($num) {
	echo $data.$num;
};

//调用
$closure('这是带关键字use的闭包');
//输入:
//这是带关键字use的闭包1

------------------------------------------
/**
 *use所引用的是变量的一个副本,所以不能够改变闭包外的变量,如果要改变的话,可以用引用符&
 */
 $num = 1;
 $closure = function () use (&$num) {
	echo $num;
	$num++;
};

//调用
$closure();
echo $num;
//输出:
//12
Publicado 48 artículos originales · ganado elogios 56 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/zhetmdoubeizhanyong/article/details/96127943
Recomendado
Clasificación