PHP中的数组大小显示为一个,尽管有更多的元素

时间:2015-04-08 09:14:01

标签: php arrays xml xml-parsing

以下是我目前用于测试目的的代码。我必须在我的项目中进一步使用它。 它访问某个Web服务并以xml的形式检索数据。 XML被带到$arr数组。 {I}中的$url和第3个参数的地址没有故意提及。

client->call()

如果我将$url = ""; $client= new nusoap_client($url); $param = array("status"=>"p2"); $arr = $client->call('getAllVisitByStatus',$param,''); echo $arr."\n"; $size = sizeof($arr); echo $size; for($num=0; $num<986; ++$num) { echo $arr[$num], "\n"; if($arr[$num] == '>') { echo "<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; } } 返回的数据保存到数组中并用循环打印,那么就会打印出这样的XML

client->call()

但是,如果将<?xml version = "1.0" encoding = "UTF - 8" standalone = "yes" ?> <lists> <visitW> <followup> 2015 - 01 - 30 00:50:00.0 </followup> <person_id> 12 </person_id> <remarks> nothing </remarks> <treatment> doing </treatment> <visit_date> 2015 - 01 - 04 - 00 - 24 - </visit_date> <visit_id> 4 </visit_id> <visit_type> Hesschart</visit_type> </visitW> </lists> 作为字符串,则打印出来:

$arr

因此,在一个字符串中,它打印时没有标签,就像这样。

问题在于,当打印数组的大小时,它会打印1.但是,该数组包含服务调用带来的整个XML。

当我使用精确数量的元素循环,即986时,它会按原样打印整个XML。

问题是为什么它显示1作为数组的大小?此外,包含XML的数组是否可以放在DOM Parser中?

0 个答案:

没有答案