2011-08-11 7 views
1

에 배열을 저장하는 난이있다는 XML을 읽고 PHP

SimpleXMLElement Object 
(
    [b] => SimpleXMLElement Object 
     (
      [c] => SimpleXMLElement Object 
       (
        [d] => 543 
       ) 

     ) 

) 

을하지만 echo $xml["b"]["c"]["d"]; 아무것도 입력하지 않을 때

+0

PHP5를 사용하는 경우 SimpleXML의 OO 접근 방식을 사용하는 것이 좋습니다. – Raptor

답변

4

print_r 종류의 오해의 소지가 발생 ,
실제로 $xml은 SimpleXmlElement 개체의 계열/배열입니다.

그래서 여기

echo (int)$xml->b->c->d; --- type casting is required 

어떤 reference 당신이 XML 객체 내부의 모든 노드가 하나 string 또는 int

PHP가 자동이기 때문에이
먼저

추가 type casting에보고해야이다 숫자 문자열을 정수로 변환하면
하지만 더 명확하게 나타낼 수 있습니다.

var_dump($xml); --- you should see more information on the data type 
+0

var_dump를 사용하면 더 명확합니다. – tetris

+0

작동합니다. 타입 캐스팅에 무엇이 필요합니까? – Templar

0

들이 객체 echo $xml->b->c->d;

$의 XML이 아닌 배열을 시도 암시 YPE.