0

ページ上のさまざまな要素を取得するために xpath を使用しています。このような foreach ループを使用するforeach ($company as $node) { echo $node->nodeValue. "<br>"; }と機能しますが、1 つの変数からしか値を返すことができないため、2 つの別個の 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++;
}
4

1 に答える 1

2

それらはNodeLists、インデックスで個々のノードを取得するには、使用します->item()

while ($i < $company->length ) {
   echo $company->item($i)->nodeValue. "<br>";
   echo $address->item($i)->nodeValue. "<br><br>";
   $i++;
}
于 2013-01-19T11:15:43.643 に答える