2011-12-01 158 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; 

这应该就够了。