PHP闭包调用外部参数使用范例

使用范例

话不多说,直接上代码,大家测试运行一下即可,主要涉及use关键字和 &引用标识符,大家应用一下即可

<?php
$a[1] = 'a';

$closure1 = function ($p1,$p2) use(&$a){
	$a[] = $p1;
	$a[] = $p2;
	var_dump($a);
};
$closure2 = function ($p1,$p2) use($a){
	$a[] = $p1;
	$a[] = $p2;
	var_dump($a);
};
$closure1('11111','22222');
$closure2('3333','4444');
var_dump($a);
?>

具体啥含义,大家通过代码的控制台输出进行理解即可

应用举例

在thinkphp5+中,里面数据库操作的chunck函数,就可以这样使用,下面贴上使用范例,大家参考即可

$outer;
$this->table
->pk(id)
->field('id,f1,count(*) as count')
->group('f1')
->cache(true,24*3600)
->chunk(1000, function ($data) use(&$outer){
	foreach ($data as $key => $val){
		$outer[] = $val;
	}
});
echo var_dump($outer);

大家根据自己的需要进行修改即可

原文地址:https://www.cnblogs.com/marshwinter/p/14098804.html