2011-01-05 6 views
1

현재 XML 파일을 처리하는 클래스를 다시 작성하고 있습니다. xml 파일과 구조에 따라 때때로 객체를 병합해야합니다. 나는이 일단PHP에서 오브젝트를 병합하는 방법은 무엇입니까?

는 말할 수 :

<page name="a title"/> 

을 그리고 다른 시간 나는이있다 : 나는 "페이지"요소에서 속성 만 필요하기 전에

<page name="a title"> 
    <permission>administrator</permission> 
</page> 

합니다. 그래서 많은 코드에서 속성 ($ loadedXml-> attributes())만을 포함하는 객체가 필요합니다.
이제

<permission> 

요소가 요구되는 XML 파일이 있습니다.
개체를 병합 할 수 있었지만 (원하는대로는 아니지만) 그 중 하나에 액세스 할 수 없습니다 (대부분 내가 누락 된 것이므로).

stdClass Object ( 
    [@attributes] => Array ([name] => a title) 
    [permission] => Array ([0] => administrator) 
) 


은 이제 내 질문은 어떻게 액세스 할 수 있습니다 :

(object) array_merge(
        (array) $loadedXml->attributes(), 
        (array) $loadedXml->children() 
        ); 


이 내가 인 print_r()에서 무엇을 얻을 수 있습니다 :

은이 코드를 사용하여 내 개체를 병합하려면 @attributes 메소드와 배열을 [@attributes]에서 주 객체로 이동하는 방법은 무엇입니까? 부동산에 @attribute 이동하려면 가능한 방법

$attr = '@attributes'; 
var_dump($obj->$attr); 

답변

1

하나

foreach ($obj->$attr as $key=>$val) 
{ 
    $obj->$key = $val; 
} 
unset($obj->$attr); 
+0

감사합니다 :) 이 내가 필요 정확히이었다! :) – tftd

관련 문제