SimpleXML на PHP

220
04 мая 2017, 16:03

В общем, есть код:

$xmlDoc = simplexml_load_file($xmlPath . 'result.xml');
foreach($xmlDoc->attributes() as $a => $b)
    echo $a . ' = ' . $b . '<br />';
    if ($a == 'clientOrderId'){
        $orderId = $b;
    }
    if ($a == 'status'){
        $status = $b;
    }
    if ($a == 'error'){
        $error = $b;
    }
    if ($a == 'techMessage'){
        $techMessage = $b;
        $_SESSION['techMessage'] = $techMessage;
    }
}
$_SESSION['status'] = $status;
$_SESSION['error'] = $error;
$_SESSION['error_text'] = $res['error_text'];
echo '<pre>';
echo print_r($_SESSION);
echo '</pre>';

но при выводе получаю:

clientOrderId = 1493813331128
status = 3
error = 44
processedDT = 2017-05-03T15:08:52.832+03:00
Array
(
    [__flash] => Array
        (
        )
    [__id] => 128
    [storeCard] => success
    [status] => SimpleXMLElement Object
    (
        [0] => 3
    )
    [error] => SimpleXMLElement Object
    (
         [0] => 44
    )
    [error_text] => 
)

В общем, мне нужно только значение, а берется целый объект почему-то.

Answer 1

Чтобы брать чисто значение нужно привести объект к строке:

$status = (string) $b;
READ ALSO
Как реализовать прайс-лист? [требует правки]

Как реализовать прайс-лист? [требует правки]

Подскажите пжл, как можно реализовать прайс-лист такого плана в бд, и вывести циклом уже на странице

182
Выводит не все значения базы данных

Выводит не все значения базы данных

Хочу получить все значения столбца, у которых найдется соответствиеМой код выводит только первое найденное

243
не хватает php intl &amp; xsl расширений при установке Magento 2 на контрольной точке

не хватает php intl & xsl расширений при установке Magento 2 на контрольной точке

Я пробую запустить установщик Magento на Windows 7 с MAMP 33

202
Как вывести в массиве объекты?

Как вывести в массиве объекты?

Как вывести все объекты массива $arrsЧерез foreach

215