您好,我正在尝试使用simple_html_dom的一个文本(网站)集群项目,但我遇到了一个奇怪的问题。当我在外部循环中使用echo时,url和代码片段是您所期望的,但是当我尝试回显在循环外收集的数组内容时,url是正常的,但是代码片段已经消失,最后一个代码片段在它们的位置上。
<?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++;
}
?>发布于 2010-11-06 23:31:21
你确定你没有在你的代码中打错字吗?
foreach ($snippets as $elemement) {
echo $urls[$j] . "\n" . $element . "\n\n\n\n";
$j++;
}element和elemement是不同的;您的循环可以很好地执行,但您的语句可能不会。
发布于 2010-11-06 23:26:43
你打错了,$elemenent真的应该是$element。
foreach ($snippets as $element) {
echo $urls[$j] . "\n" . $element . "\n\n\n\n";
$j++;
}这是习惯于编写可读代码的原因之一。这不是因为其他人喜欢它,而是因为它使调试变得更容易。
https://stackoverflow.com/questions/4113694
复制相似问题