2011-12-01 163 views
0

當我I print_r($var)我得到下面的結果。php SimpleXml&數組問題

SimpleXMLElement Object 
(
    [SEND_FILE] => SimpleXMLElement Object 
     (
      [FILEID] => 123 
      [GUID] => 456 
      [SUMMARY] => SimpleXMLElement Object 
       (
        [NB_PAYMENTS] => 1 
       ) 
     ) 
) 

如何獲取變量中FILEID元素的值?如果我做

print $result->SEND_FILE->FILEID[0]

然後我剛剛得到的數字 - 我想要什麼,沒有提到SimpleXML對象的。 但如果我把這個變量數組,這樣

$res['file_id'] = $result->SEND_FILE->FILEID[0] 

,然後print_r($res)我得到:

Array 
    (
     [file_id] => SimpleXMLElement Object 
      (
       [0] => 307466 
      ) 
    ) 

我怎樣才能得到它刪除[0]/SimpleXMLElement Object

+0

SimpleXml不是一個數組。它只能像一個遠程*行爲。 – Gordon

+0

理解,但...我試圖將此數組發送到Web服務,但file_id鍵必須只是一個數值,而不是SimpleXML對象。 – stef

回答

2

這看起來不太優雅,但儘量鑄造結果的整數(如果類型是已知的):

$res['file_id'] = (int)$result->SEND_FILE->FILEID[0] 
+0

確認,在這種情況下必要的鑄造。 – TFennis

1

爲什麼你追加[0]在結束了嗎?你不需要那個。你應該簡單地做

print $result->SEND_FILE->FILEID; 

這應該就夠了。