2010-10-22 136 views
0

我遇到SIMPLE XML問題。我似乎有傾倒整個對象的陣列。但是,當我嘗試訪問數組時,我得到了數組中的單個元素。SimpleXML和包含數組的問題

這裏是完全轉儲:

SimpleXMLElement Object 
(
    [@attributes] => Array 
     (
      [type] => array 
     ) 

    [person] => Array 
     (
      [0] => SimpleXMLElement Object 
       (
       .......................... 
       ), 
      [1] => SimpleXMLElement Object 
       (
       .......................... 
       ) 
     ) 
) 

,當我試圖通過$ XML的訪問人陣>的人,而不是讓數組,我得到的第一個元素了。有任何想法嗎?

+0

生成此轉儲的XML是什麼? – Robin 2010-10-22 21:58:02

回答

0

從PHP手冊中的SimpleXML Basic usage文檔:

注:屬性(在前面的例子$xml->movie)不是數組。他們是iterableaccessible對象。

因此,在你的情況下,$xml->person實際上不是一個數組,只是一個可迭代的對象。它可以很容易地轉換爲數組:

$persons = array(); 
foreach ($xml->person as $person) { 
    $persons[] = $person; 
}