2016-07-30 62 views
1

我正在使用SoapClient獲取一些數據。我得到這個resuls從電話中的一個:我可以強制SoapClient以數組的形式返回數組嗎?

stdClass Object 
(
    [payTransIncome] => stdClass Object 
     (
      [item] => stdClass Object 
       (
        [payTransId] => 141281 
        [payTransItId] => 630260 
        [payTransBuyerId] => 1311 

       ) 
     ) 
) 

然而,這的WebAPI的文檔說payTransIncome是一個數組。 對我來說SoapClient找到了一個元素數組並將其轉換爲一個stdClass對象。這使得解析變得更加困難,因爲有時我認爲它實際上可能會返回多於1個元素。

當然,我可以把任何檢查if (is_array())但也許有一個簡單,更優雅的方式?

+1

嘗試設置'features'到'SOAP_SINGLE_ELEMENT_ARRAYS'在SoapClient的選項。 –

+0

@IsmailRBOUH完美,謝謝!如果您想將此作爲答案發布,我會將其標記爲解決方案。謝謝! – Tom

+1

不客氣。增加答案,以便未來面臨同樣問題的人們能夠輕鬆發現它! –

回答

3

請嘗試設置featuresSOAP_SINGLE_ELEMENT_ARRAYS在您的SoapClient的選擇:

$client = new SoapClient("some.wsdl", ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]); 
相關問題