我可以强制SoapClient将数组作为数组返回吗?

时间:2016-07-30 12:42:37

标签: php soap asp.net-web-api soap-client

我使用SoapClient获取一些数据。我从其中一个电话中得到了这个结果:

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

                )
        )
)

然而,此WebAPI的文档说payTransIncome是一个数组。 在我看来,SoapClient找到了一个单元素数组并将其转换为单个stdClass对象。这使得解析变得更加困难,因为有时我认为它实际上可能会返回超过1个元素。

当然,我可以随处查看if (is_array()),但也许有一种简单,更优雅的方式?

1 个答案:

答案 0 :(得分:6)

请尝试在SoapClient选项中将features设置为SOAP_SINGLE_ELEMENT_ARRAYS

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