stef
stef

Reputation: 27749

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?

Upvotes: 0

Views: 137

Answers (2)

Jan Dragsbaek
Jan Dragsbaek

Reputation: 8101

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.

Upvotes: 1

Minras
Minras

Reputation: 4346

This will look not too elegant, but try casting the result to integer (if the type is known):

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

Upvotes: 2

Related Questions