php – 单个数组元素成为Zend_Soap_Client的对象

我正在使用Zend_Soap_Client并遇到此问题:

<parent>
    <child><name>abc</name></child>
    <child><name>def</name></child>
</parent>

如果有多个子元素,则Zend返回数组,我可以访问

$result-&GT父 – >儿童[0] – &GT名称

但如果只有一个子节点,它返回的对象如下:

$result-&GT父 – &GT儿童安全&GT名

你能告诉我我的方法有什么问题吗?我怎么能克服它?

我的示例代码

$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));

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...