2012-07-31 5 views
0

문자열을 개체로 변환 할 때 문제가 있습니다.문자열을 대상으로 만드시겠습니까?

public function slikepoid($dire,$id) 
{ 
    $this->dire=$dire; 
    $this->id=$id; 
    $slike = $this->skupljanjeslika($this->dire); 
    $slikeid = array_filter($slike, function($el) { 
     return substr($el, 0, 2) == '$this->id-'; // Here is the problem ! 
    }); 
    return $slikeid; 
} 

나는이 오류가있어 :

치명적인 오류 : 여기에 기능입니다 $를 사용하여이 라인 8

개체 컨텍스트에서 내가 노력하지 않을 때 :

return substr($el, 0, 2) == ''.(string)$this->id;'-'; 

하지만 운이 없다 : (

+0

PHP 5.3에서는 익명 함수 (클로저) 내에서'$ this'를 사용할 수 없습니다. PHP 5.4에서 그렇게 할 수 있다고 생각합니다. –

+0

예, 문자열의 생성자를 변환하는 방법은 무엇입니까? –

답변

5

이제

$slikeid = array_filter($slike, function($el) use($id) { 
    return substr($el, 0, 2) == $id; 
}); 

, $id 익명 함수의 범위 내에서해야한다, 그래서 당신은 반대 요소 값을 비교할 수 있어야한다 : closure이 작업을 수행합니다.

+0

공개 함수 slikepoid ($ dire, $ id) - 클로저 정의? – voodoo417

+0

죄송합니다 ... 잠 가야합니다. – voodoo417

관련 문제