我在使用array filter内的变量时遇到问题:
$lteam_id = 25;
$flt_lteam = array_filter($events, function($obj)
{
return $obj['team_id'] == $lteam_id && $obj['type'] == 'kick' && $obj['minute'] <= 75 ;
});
只要我将$lteam_id
替换为25
,它就会起作用,我会得到一个结果。使用变量得到array(0) { }
...希望你能帮助我正确使用变量。
答案 0 :(得分:1)
您使用anonymous函数,因此您可以使用use
语句将变量传递给它:
$lteam_id = 25;
$flt_lteam = array_filter($events, function($obj) use ($lteam_id)
{
return $obj['team_id'] == $lteam_id && $obj['type'] == 'kick' && $obj['minute'] <= 75 ;
});
答案 1 :(得分:0)
$ lteam_id。要么将变量作为闭包的参数传递,要么使用using
$flt_lteam = array_filter($events, function($obj) using($lteam_id)
{
return $obj['team_id'] == $lteam_id && $obj['type'] == 'kick' && $obj['minute'] <= 75 ;
});