2013-11-03 77 views
1

如果想這樣做以下:

$filteredValues = array_filter($rawValues, function($rawValue) { 
     return $this->validateValue($rawValue); 
    }); 

validateValue是在同一類的私有方法。

如何以這種方式在array_filter中使用$ this上下文?

回答

2

如果你使用PHP 5.3,PHP不承認$this爲關閉,你需要做的一招類似的JavaScript:

$self = $this; 
$filteredValues = array_filter($rawValues, function($rawValue) use ($self) { 
    return $self->validateValue($rawValue); 
}); 

注意上面只會給你通過公共API訪問對象的對象。這不同於支持閉合重新綁定的5.4,它允許完全訪問$this