我使用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