nusoap传递数组对象由于工作原因 用PHP调用WEB SERVICE,使用Nusoap包进行操作。由于对方提供的一个方法中,需要传递数组对象作为参数。我实验了近百次,发现nusoap不支持二维数组对象,也不支持二维数组。基本上就是需要下面这种格式的数据作为参数。Array(key0=>valuekey1=>Array(key=>Array(k0=>v),key=>Array(k1=>v)))发现nusoap无法解析此参数。就读了下nusoap_client.PHP源文件。在6286行,增加如下代码便可if( $eName == 'key' ){foreach( $xvalue AS $eName=>$xv ) {$v = $xv;$xml .= $this->serializeType(trim($eName), isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, false);}continue;}将key替换为你所需要的key就可以了。总结:数组的key是不可以重复的,而xml是允许且其本质就是需要节点重复的。
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/925196,如需转载请自行联系原作者