回调函数中的PHP变量

时间:2012-11-22 09:01:58

标签: php callback

我有一个问题。在array_filter中:

$min = 4;
$arr = array(1,2,3,4,5,6,7);
$arr = array_filter($arr,function($e) {
    return $e <= 4;
});
var_dump($arr);

有效。

如果我使用

$min = 4;
$arr = array(1,2,3,4,5,6,7);
$arr = array_filter($arr,function($e) {
    return $e <= $min;//$min variable gives error
});
var_dump($arr);

如何正确放置,它可以看到回调中的$ min变量?

感谢您的提示

2 个答案:

答案 0 :(得分:7)

$min = 4;
$arr = array(1,2,3,4,5,6,7);
$arr = array_filter($arr,function($e) use($min) {
    return $e <= $min;
});
var_dump($arr);

注意:int PHP 5.4你可以在闭包中使用$ this

答案 1 :(得分:0)

  

$ min = 4;

     

$ arr = array(1,2,3,4,5,6,7);

     

$ arr = array_filter($ arr,function($ e)

     

{

     

全球$ min;

return $e <= $min;//$min variable gives error
     

});