Php 如何使用数组的循环

Php 如何使用数组的循环,php,arrays,loops,Php,Arrays,Loops,我有一个数组,它从xml文件中读取其单元格,我用“for”编写它,但现在因为我不知道我有多少节点,我想以一种方式编写这个循环,它从xml文件开始到结束。我的for代码是: $description=array(); for($i=0;$i<2;$i++) { $description[$i]=read_xml_node("dscription",$i); } $description=array(); 对于($i=0;$i$length=count($description); 对于(

我有一个数组,它从xml文件中读取其单元格,我用“for”编写它,但现在因为我不知道我有多少节点,我想以一种方式编写这个循环,它从xml文件开始到结束。我的for代码是:

$description=array();

for($i=0;$i<2;$i++)
{
$description[$i]=read_xml_node("dscription",$i);
}
$description=array();
对于($i=0;$i
$length=count($description);
对于($i=0;$i<$length;$i++){
打印$description[$i];
}

您使用的解析器可能允许您使用
while
循环,该循环在到达XML文档末尾时将返回
false
。例如:

while ($node = $xml->read_next_node($mydoc)) {
    //Do whatever...
}
for ($i = 0; $i < count($myarray); $i++) {
    //Do whatever...
}
如果不存在,可以尝试使用
count()
作为
for
循环的第二个参数。它返回指定数组的长度。例如:

while ($node = $xml->read_next_node($mydoc)) {
    //Do whatever...
}
for ($i = 0; $i < count($myarray); $i++) {
    //Do whatever...
}
for($i=0;$i
我不确定您使用的是哪种解析器,但使用simplexml非常简单,因此我使用simplexml编写了一些示例代码

像这样的事情应该可以做到:

$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<node>
<eth0>
<description>WAN</description>      
</eth0>
<eth1>
<description>LAN</description>      
</eth1>
</node>
XML;

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml as $xmlnode) {
 foreach ($xmlnode as $description) {
  echo $description . " ";
 }
}

您使用的是什么XML解析器/API?使用SimpleXML非常简单:首先,PHP中没有名为
read\u XML\u node
的本机函数,因此您必须向我们显示它的代码或函数所在的库。其次,您拼写的
description
错误(
dscript
).DOM,我使用我的函数来读取它,我的代码工作正常,我的问题是:如果我不知道xml中有多少描述可以正常工作。
WAN LAN