我試圖執行下面的PHP代碼:在閉包上下文中使用匿名函數在PHP中使用「use」關鍵字是不可能的?
$path_hierarchy = // function that returns an array
return array_reduce(
$terms,
function($val1, $val2) use ($path_hierarchy) {
return $val1 || in_array($val2, $path_hierarchy);
}
);
...但我發現下面的PHP錯誤:
PHP Parse error: syntax error, unexpected ')', expecting '{'
所以,我切換到下面的語法:
$path_hierarchy = // function that returns an array
$callback = function($val1, $val2) use ($path_hierarchy) {
return $val1 || in_array($val2, $path_hierarchy);
};
return array_reduce(
$terms,
$callback
);
...這工作。我是否無法在匿名函數的上下文中將use
關鍵字用作另一個函數的參數?
你能複製並粘貼不工作的代碼嗎?這也有助於確切地看到它抱怨哪一行。 – 2011-12-21 20:20:44