变量

时间:2017-06-04 17:25:12

标签: php

我在使用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) { } ...希望你能帮助我正确使用变量。

2 个答案:

答案 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)

在array_filter()中的闭包中无法访问

$ 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 ;
});