如果结果的比例不是1:1,则匹配结果会计算

时间:2017-10-05 12:24:40

标签: php arrays

我正在做的是通过使用xpath选择器从div中提取值来抓取网页的内容。父div $listing的数量始终相同。这个div包含(大多数时间)包含标题的$titlehit和吉他'还有$pricehit,其中包含类似' 199'的价格。问题是这些div的比例不是1:1。 $titlehit上有31个结果,$pricehit上有29个结果。一旦遇到标题但没有价格的情况,这会导致抓取的数据不正确。我想知道是否有某种方法可以锁定计数,因此标题和价格都会正确地添加到数组$list中的相同键中。

以下是我的代码:

$listing = $xpath->query("//div[@class='cell-group listing']");
$titlehit = $xpath->query("//span[@class='mp-listing-title']");
$pricehit = $xpath->query("//span[@class='price-new']");

 $i = 0;

  foreach ($listing as $listings[$i]) {

    $titles = $titlehit[$i];
    $prices = $pricehit[$i];

      $list[]=['title'=>$titlehit[$i]->nodeValue,
               'price'=>trim($pricehit[$i]->nodeValue)];
   $i++
  }

我尝试使用各种if语句只添加标题和价格的条目到数组$list,没有这样的结果:

if (!empty($titlehit[$i]->nodeValue) && (!empty($pricehit[$i]->nodeValue))

问题似乎与计数有关。

非常感谢任何帮助。

0 个答案:

没有答案