2012-01-08 5 views
1

나는 첫 번째 반환 문을 밖으로 종류의 수 없습니까, 아무도 어떻게 작동하는지 설명 할 수 있습니까? array_map은 첫 번째 arg에 대한 함수를 허용하지만 여기에는 배열이 있습니다. array(&$this, '_trimData')은 어떻게 작동합니까? 설명 해줘서 고마워.PHP 배열 array_map 첫 번째 인수로 사용

private function _trimData($mParam) 
{  
    if (is_array($mParam)) 
    { 
     return array_map(array(&$this, '_trimData'), $mParam); 
    } 

    $mParam = trim($mParam); 

    return $mParam; 
}  

답변

3

이것은 재귀 함수입니다. _trimData은 전달 된 매개 변수가 배열 인 경우 자체를 호출합니다.

array(&$this, '_trimData')은 현재 개체의 방법 _trimData에 대한 callback입니다.

private function _trimData($mParam) 
{ 
    array_walk_recursive($mParam, 'trim'); 
    return $mParam; 
} 
+0

이있어 ,,, 함수는 이해하기가 훨씬 쉽다. 설명 해줘서 고마워. – bingjie2680

1

그것은 콜백입니다 :

전체 방법

정말로 대체 될 수 $this->_trimData() ( _trimData 객체 $this의)