0

我曾使用 SIMPLE HTML DOM 来捕获三个不同的元素。我想一一展示。但是,它向我显示了有关使用 for 循环的错误消息:

未定义索引:i。

怎么了?请帮我。

include('simple_html_dom.php');

$html = file_get_html('http://....');

$a=$html->find('div.briefimage');
echo $a[0];

$b = $html->find('span.briefcitTitle');
echo $b[15];
$c = $html->find('table.bibItems td');
echo $c[0]; 

for ($i = 0; $i <= 10; ++$i) {
    echo $a[i]->plaintext . '<br>';
    echo $b[i]->outertext . '<br>';
    for ($j = i; $i <= 2; $j++) {
    echo $c[i]->innertext . '<br>';
    }
}
4

4 回答 4

1

你应该使用$i而不是仅仅i......所以改变

for ($i = 0; $i <= 10; ++$i) {
    echo $a[i]->plaintext . '<br>';
    echo $b[i]->outertext . '<br>';
    for ($j = i; $i <= 2; $j++) {
    echo $c[i]->innertext . '<br>';
    }
}

for ($i = 0; $i <= 10; ++$i) {
    echo $a[$i]->plaintext . '<br>';
    echo $b[$i]->outertext . '<br>';
    for ($j = $i; $i <= 2; $j++) {
       echo $c[$i]->innertext . '<br>';
    }
}
于 2013-03-28T11:52:50.197 回答
0

在遍历 lop 检查是否每个数组都已设置。或者尝试使用isset来检查是否设置了数组。还可以使用 print_r() 或 var_dumb 你的数组来检查你是否在数组中获取值。你收到通知是因为你的数组之一不包含值。

于 2013-03-28T11:52:42.153 回答
0

这意味着您的数组之一$a$b或者$c缺少您尝试访问的密钥$i

$foo = array('a', 'b');
$i = 3;
echo $foo[$i]; # Error because there is no third key in $foo
于 2013-03-28T11:52:55.933 回答
0

只是快速浏览了一下,尝试$i++而不是++$i

如果这不起作用 var_dump $a, $b & $c

于 2013-03-28T11:56:25.060 回答