首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file_get_html的奇怪问题

file_get_html的奇怪问题
EN

Stack Overflow用户
提问于 2010-11-06 23:20:06
回答 2查看 1K关注 0票数 0

您好,我正在尝试使用simple_html_dom的一个文本(网站)集群项目,但我遇到了一个奇怪的问题。当我在外部循环中使用echo时,url和代码片段是您所期望的,但是当我尝试回显在循环外收集的数组内容时,url是正常的,但是代码片段已经消失,最后一个代码片段在它们的位置上。

代码语言:javascript
复制
<?php
  // create HTML DOM
  include("simple_html_dom.php");
  $search_query = 'something';
  $j = 1;
  $k = 1;
  /*************************GOOGLE***************************/
  for ($i = 0; $i < 1; $i++) {
      $url = sprintf('http://www.google.com/search?q=%s&start=%d', $search_query, 10 * $i);
      $html = file_get_html($url);
      foreach ($html->find('a[class=l]') as $element) {
          $urls[$j] = $element->href;
          echo $element->href . "\n\n\n\n\n";
          $j++;
      }
      foreach ($html->find('div[class=s]') as $element) {
          $snippets[$k] = $element->innertext;
          echo $element->innertext . "\n\n\n\n\n";
          $k++;
      }
  }
  $j = 1;
  foreach ($snippets as $elemement) {
      echo $urls[$j] . "\n" . $element . "\n\n\n\n";
      $j++;
  }
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-06 23:31:21

你确定你没有在你的代码中打错字吗?

代码语言:javascript
复制
foreach ($snippets as $elemement) {
      echo $urls[$j] . "\n" . $element . "\n\n\n\n";
      $j++;
  }

elementelemement是不同的;您的循环可以很好地执行,但您的语句可能不会。

票数 0
EN

Stack Overflow用户

发布于 2010-11-06 23:26:43

你打错了,$elemenent真的应该是$element

代码语言:javascript
复制
foreach ($snippets as $element) {
    echo $urls[$j] . "\n" . $element . "\n\n\n\n";
    $j++;
}

这是习惯于编写可读代码的原因之一。这不是因为其他人喜欢它,而是因为它使调试变得更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4113694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档