我正試圖訪問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