简体   繁体   中英

php SimpleXml & arrays issue

When I print_r($var) I get the result below.

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

How can I get the value of the FILEID element in a variable? If I do

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

then I just get the number - what I want, no mention of a SimpleXML Object. But if I put this variable in an array, as such

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

and then print_r($res) I get:

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

How can I get it to remove the [0] / SimpleXMLElement Object ?

这看起来不太优雅,但是请尝试将结果强制转换为整数(如果类型已知):

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

Why do you append the [0] at the end? You dont need that. You should simply do

print $result->SEND_FILE->FILEID;

And that should be enough.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM