这可能是一个非常愚蠢的问题,但我就是无法理解这段代码中PHP作用域是如何工作的:
$leagueKey = 'NFL';
$response['response'] = array_filter($response['response'], function($tier){
return ($tier['LeagueKey'] === $leagueKey ? true : false);
});
当我运行它时,会出现“未定义变量:leagueKey”的异常。另一方面,这个可以完美地工作:
$response['response'] = array_filter($response['response'], function($tier){
return ($tier['LeagueKey'] === 'NFL' ? true : false);
});
为什么PHP在array_filter函数内无法识别我的$leagueKey变量?
谢谢!
$leagueKey
是在该函数之外定义的。为了使用它,您可以在匿名函数内部使用global $leagueKey
,但这并不是最好的方法。 - ElefantPhace$leagueKey
在函数之外,而字符串'NFL'
在函数内,所以它可以工作。 - Rasclatt