2015-02-06 3 views
-1

PHP에서 객체 속성을 내용에 따라 재귀 적으로 바꿀 수있는 방법이 있습니까?PHP는 객체 속성을 데이터로 대체합니다.

예 :이 개체를 통해 재귀 적으로 "데이터"속성을 제거하려고합니다. 그래서 그 아닌 "중간 사람"

그런 식으로 내가 $foo->data->bar->data->id를 호출 할 필요가 없습니다 난 그냥 $foo->bar->id

object(stdClass)[251] 
    public 'data' => 
    object(stdClass)[224] 
     public 'id' => string '1730e209-0cbf-4598-8e5a-c5ca8469e8b9' (length=36) 
     public 'level_id' => string '12cada4e-0874-490e-adce-b58700244446' (length=36) 
     public 'level' => 
     object(stdClass)[250] 
      public 'data' => 
      object(stdClass)[252] 
       ... 


object(stdClass)[251] 
    public 'id' => string '1730e209-0cbf-4598-8e5a-c5ca8469e8b9' (length=36) 
    public 'level_id' => string '12cada4e-0874-490e-adce-b58700244446' (length=36) 
    public 'level' => 
     object(stdClass)[250] 
      ... 
+1

'$ foo = $ foo-> data; echo $ foo-> bar-> id;' –

+0

예,하지만'$ foo-> data-> bar-> data-> baz-> data-> id' 또는 다른 것인가요? 신뢰할 수있는 솔루션이 아닙니다. – veilig

+0

(public) 객체 속성과 함께'foreach'를 사용할 수 있으므로 재귀 함수를 작성할 수 있습니다 –

답변

0

를 부를 수있는이 당신이 원하는 무엇인가? 확실하지는 않지만 어쨌든 ...

foreach ($foo->data as $d){ 
    $id = $d->bar->data->id; 

    ... // do what you should here with $d children 
} 
관련 문제