我正在尝试访问$managers
函数中的change
变量。
public function ManagerPerDay() {
$query = $this->mysqli()->query('SELECT
manager,
count(manager) AS count
FROM
DATA
GROUP BY
manager
ORDER BY
count DESC');
$data = $query->fetch_all();
$managers = $this->GetManagers();
function Change($n)
{
$name = $managers[array_search($n[0], array_column($managers, 'id'))]['name'];
$n[0] = $name;
return $n;
}
$data = array_map('Change', $data);
array_unshift($data, ['Manager', 'Per Day']);
return $data;
}
我尝试了全球$经理;在改变功能,但它也不起作用。
答案 0 :(得分:2)
使用array_walk可以添加参数
function Change(&$n, $key, $managers)
{
$name = $managers[array_search($n[0], array_column($managers, 'id'))]['name'];
$n[0] = $name;
}
array_walk($data, 'Change', $managers);
答案 1 :(得分:0)
您可以使用use
关键字将该变量传递给该函数。像这样的东西:
$data = array_map(function($n) use ($manager) {
$name = $managers[array_search($n[0], array_column($managers, 'id'))]['name'];
$n[0] = $name;
return $n;
}, $data);