$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;
}
私はglobal $ managersを試しました。変更機能でも動作しません。
関数内で関数を宣言することはできますが、外部関数を複数回呼び出すと内部関数の再宣言エラーが発生します。ここで閉鎖を使用する方が良い。 – Progrock
グローバル宣言が機能しなかったのは、両方の関数内で$ managersグローバルを宣言する必要があるからです。 – Progrock