您好我正在尝试将simple_html_dom用于文本(网站)群集项目,但我遇到了一个奇怪的问题。当我在外部循环中使用echo时,url和snippet是你所期望的,但是当我尝试回显数组内容时,我已经聚集在循环外部,网址是可以的但是片段已经消失,最后一个片段就在他们的位置
<?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++;
}
?>
答案 0 :(得分:0)
你犯了一个错字,$elemenent
确实应该是$element
。
foreach ($snippets as $element) {
echo $urls[$j] . "\n" . $element . "\n\n\n\n";
$j++;
}
这是习惯于制作可读代码的一个原因。这不是因为其他人喜欢它,而是因为它使调试变得更容易。
答案 1 :(得分:0)
你确定你的代码中没有输入拼写错误吗?
foreach ($snippets as $elemement) {
echo $urls[$j] . "\n" . $element . "\n\n\n\n";
$j++;
}
element
和elemement
不同;你的循环执行正常,但你的陈述可能没有。