2016-07-30 26 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]); 
相关问题