在匿名函数中要想使用并修改外部的变量,需要使用use(&$变量名),如下
$planIdList = [];
$list = Report::getList($bdate, '*', $where)->each(function ($item, $key) use (&$planIdList) {
array_push($planIdList, $item->plan_id);
return $item;
});
如果不加use,会直接报错,因为$planIdList不存在,如果不加&,每次遍历$planidList都会清空,最后得到的还是个空数组。