我曾使用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>';
}
}
答案 0 :(得分: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>';
}
}
答案 1 :(得分:0)
在迭代lop之前检查是否每个数组都已设置。或者尝试使用isset
检查数组是否已设置。还要使用print_r()或var_dumb数组来检查是否在数组中获取值。你是得到通知,因为你的一个数组不包含值。
答案 2 :(得分:0)
这意味着您的某个数组$a
,$b
或$c
缺少您尝试使用$i
访问的密钥:
$foo = array('a', 'b');
$i = 3;
echo $foo[$i]; # Error because there is no third key in $foo
答案 3 :(得分:0)
快速查看,请尝试$i++
而不是++$i
如果这不起作用var_dump $ a,$ b&amp; $ C