匿名函數可用作函數的回調函數,例如。 array_map
,其優點之一是使用use
來使用函數外部的變量。例如:舊版PHP版本中「使用」的替代方案
$var = 10;
$x = array_map(function($e) use ($var) { if($var > 5) return $e['prop']; }, $myArray);
在舊的PHP版本,當回調必須是現有的功能和功能,例如, array_map
接收函數名稱作爲回調參數?
$var = 10;
$x = array_map("myFunction", $myArray);
function myFunction($e) {
//how to get $var here?
}
請記住,我正在尋找解決方案,而不是使用global
變量。謝謝。
但什麼是你真的試圖達到? –
我會使用'$ GLOBALS ['var']'。 '$ GLOBALS'是一個超全局變量(像'$ _GET'或'$ _POST'),因此可以從每個函數中獲得。每個變量都是這個超全局的索引。 – Iansus
@Dagon:我想要像'use'一樣使用匿名函數,但是在不支持匿名函數的老PHP中。 – maspai