【发布时间】:2016-11-22 14:03:24
【问题描述】:
我正在尝试访问 change 函数中的 $managers 变量。
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;
}
我已经尝试过全局 $managers;在更改功能中,但它也不起作用。
【问题讨论】:
-
可以在函数内部声明一个函数,但是多次调用外部函数会导致内部函数重新声明错误。最好在这里使用闭包。
-
你的全局声明不起作用的原因是你需要在两个函数中声明 $managers 全局。