我正在使用Zend_Soap_Client并遇到此问题:
<parent>
<child><name>abc</name></child>
<child><name>def</name></child>
</parent>
如果有多个子元素,则Zend返回数组,我可以访问
$result->父 – >儿童[0] – >名称
但如果只有一个子节点,它返回的对象如下:
$result->父 – >儿童安全>名
你能告诉我我的方法有什么问题吗?我怎么能克服它?
我的示例代码:
$client = new Zend_Soap_Client('url', array('wsdl'=>'url));
$result = $client->getResult();
我正在使用zend 1.9. PHP的本机SoapClient也会出现同样的问题
谢谢!
解决方法:
我个人认为不需要使用Zend_Soap_Client而不是SoapClient,因为Zend版本没有添加任何有益的东西,但另一方面,该解决方案同时适用于:
原始SoapClient中有一个options数组参数可以接受很多东西,特别是下面这个(ref):
The features option is a bitmask of SOAP_SINGLE_ELEMENT_ARRAYS,…
使用此选项,soap响应中的所有数组结构如果只包含一个,则不会缩减为单个元素,而是按原样保留.您总是访问一个数组,这比切换更容易,具体取决于内容.
例:
$s = new SoapClient($wsdl, array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。