SimpleHTML循环返回未定义的索引


SimpleHTML Loop returning Undefined Index

我使用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>';
    }
}

您应该使用$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>';
    }
}

在遍历lop之前检查是否设置了每个数组。或者使用isset查询array是否设置。还有print_r()或var_dumb您的数组来检查您是否在数组中获取值。

刚刚看了一下,试试$i++而不是++$i

如果不工作var_dump $a, $b &$ c

这意味着您的数组$a, $b$c中的一个缺少您试图使用$i访问的键:

$foo = array('a', 'b');
$i = 3;
echo $foo[$i]; # Error because there is no third key in $foo