0

SIMPLE HTML DOM を使用して、3 つの異なる要素をキャプチャしました。そして、一つ一つ表示していきたいです。ただし、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

$i++ざっと見ただけではなく、試してみてください++$i

それでもうまくいかない場合は var_dump $a, $b & $c

于 2013-03-28T11:56:25.060 に答える
0

lop を反復する前に、すべての配列が設定されているかどうかを確認します。または、配列が設定されているかどうかを確認するために使用issetしてみてください。また、配列の値を取得しているかどうかを確認するために、配列を print_r() または var_dumb してください。値が含まれていません。

于 2013-03-28T11:52:42.153 に答える
0

これは、配列の 1 つ$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 に答える