我有一个脚本,其输出如下所示:
这是我之前没有经历过的事情。通常结果是数组,然后是我使用stdClass Object
转换为数组的(array) $result
。这个似乎是嵌套了2次,所以我不知道如何访问它,以便我可以将每个对象变成一个数组。
因此,我需要能够实现的是,如果我使用代码echo $orders[0]->customer_id
,结果将是716
'。
请问有人可以提供建议吗?如果需要,我的代码如下。非常感谢你。
<?php
$client= new SoapClient('*Magento URL*');
$session_id = $client->login((object)array('username' => '*Magento Username*', 'apiKey' => '*Magento Password*'));
try {
$result = $client->salesOrderList((object)array('sessionId' => $session_id->result, 'filters' => null));
$orders = (array) $result;
echo '<pre>', print_r($orders), '</pre>';
} catch (SoapFault $e) {
echo 'Error: ', $e->getMessage(), '<hr>';
}
?>
答案 0 :(得分:0)
$result
是一个具有result
属性的对象,该属性是具有complexObjectArray
属性的对象,该属性是整数索引的对象数组。所以:
$orders = $result->result->complexObjectArray;
然后:
echo $orders[0]->customer_id;
如果数组中有多个项目,那么您需要循环它。如果只有一个,那么在定义0
时包含$orders
:
$orders = $result->result->complexObjectArray[0];
然后:
echo $orders->customer_id;