我使用SoapClient获取一些数据。我从其中一个电话中得到了这个结果:
stdClass Object
(
[payTransIncome] => stdClass Object
(
[item] => stdClass Object
(
[payTransId] => 141281
[payTransItId] => 630260
[payTransBuyerId] => 1311
)
)
)
然而,此WebAPI的文档说payTransIncome
是一个数组。
在我看来,SoapClient找到了一个单元素数组并将其转换为单个stdClass对象。这使得解析变得更加困难,因为有时我认为它实际上可能会返回超过1个元素。
当然,我可以随处查看if (is_array())
,但也许有一种简单,更优雅的方式?
答案 0 :(得分:6)
请尝试在SoapClient选项中将features
设置为SOAP_SINGLE_ELEMENT_ARRAYS
:
$client = new SoapClient("some.wsdl", ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]);