doubu7425 2017-01-18 19:56
浏览 53
已采纳

将complexObjectArray转换为可用数组

I have a script which has output which looks like the following:

enter image description here

Which is something I've not experienced before. Normally the result would be the array and then the stdClass Object which I convert to an array using (array) $result. This one seems to be nested an extra 2 times however, so I have no idea how to access it so that I can turn each of those objects into an array.

So what I need to be able to achieve, for example, is that if I use the code echo $orders[0]->customer_id, the result would be 716'.

Could anybody please advise? My code is below if required. Thank you very much.

<?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>';
    }
?>
  • 写回答

1条回答 默认 最新

  • douqujin2767 2017-01-18 20:37
    关注

    $result is an object with a result property which is an object with a complexObjectArray property that is an integer indexed array of objects. So:

    $orders = $result->result->complexObjectArray;
    

    Then:

    echo $orders[0]->customer_id;
    

    If there is more than one item in the array then you would need to loop over it. If there is only ever one then include the 0 when defining $orders:

    $orders = $result->result->complexObjectArray[0];
    

    Then:

    echo $orders->customer_id;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题