使用while循环返回nodevalue



我使用xpath来获取页面上的各种元素。如果我使用像这样的foreach循环foreach ($company as $node) { echo $node->nodeValue. "<br>"; }它工作,但我只能从一个变量返回值,所以这意味着我必须创建两个单独的foreach循环。我希望能够使用while循环,这样我就可以同时从变量返回两个值。while循环不返回任何错误或值。

$doc = new DOMDocument();
@$doc->loadHTML($source);
$xpath = new DOMXpath($doc);
$company = $xpath->query("//*[@class='name']");
$address = $xpath->query("//*[@class='address']");
$i = 0;
while ($i < count($company)) {
   echo $company->nodeValue. "<br>";
   echo $address->nodeValue. "<br><br>";
   $i++;
}

它们是NodeLists,通过索引检索单个节点,使用->item()

while ($i < $company->length ) {
   echo $company->item($i)->nodeValue. "<br>";
   echo $address->item($i)->nodeValue. "<br><br>";
   $i++;
}

最新更新