php SimpleXml и проблема с массивами - PullRequest
0 голосов
/ 01 декабря 2011

Когда я print_r($var) получаю результат ниже.

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?

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Это будет выглядеть не слишком элегантно, но попробуйте привести результат к целому числу (если тип известен):

$res['file_id'] = (int)$result->SEND_FILE->FILEID[0]
1 голос
/ 01 декабря 2011

Почему вы добавляете [0] в конце?Тебе это не нужно.Вы должны просто сделать

print $result->SEND_FILE->FILEID;

И этого должно быть достаточно.

...