我正试图访问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;
}
我已经尝试过全球$管理者;在更改功能但它也不起作用。
您可以在一个函数内部声明一个函数,但多次调用外部函数将导致内部函数的重新声明错误。最好在这里使用闭包。 – Progrock
您的全局声明失效的原因是您需要在两个函数中声明$ managers全局。 – Progrock