Я получаю некоторые данные с помощью SoapClient. Я получаю это результат от одного из звонков:
stdClass Object
(
[payTransIncome] => stdClass Object
(
[item] => stdClass Object
(
[payTransId] => 141281
[payTransItId] => 630260
[payTransBuyerId] => 1311
)
)
)
Однако документы этого WebAPI говорят payTransIncome
это массив.
Мне кажется, SoapClient нашел массив из одного элемента и преобразовал его в один объект stdClass. И это усложняет анализ, потому что иногда я думаю, что на самом деле может быть возвращено более 1 элемента.
Конечно, я могу поставить везде чеки if (is_array())
а может есть простой, более элегантный способ?
Пожалуйста, попробуйте установить features
в SOAP_SINGLE_ELEMENT_ARRAYS
в ваших опциях SoapClient:
$client = new SoapClient("some.wsdl", ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]);
Других решений пока нет …