为什么 find('tr')[0]; 获取表格第 2 行而不是表格第 1 行?
这是我的 html 所有表格都具有相同的类和布局。
<table class="tablemenu">
<tbody>
<tr>
<td><b>hello</b></td>
<td><b>hi</b></td>
</tr>
<tr>
<td>hey</td>
<td>Alright</td>
<td>Good</td>
<td>Good</td>
<td><a>Date</a></td>
</tr>
</tbody>
</table>
<table class="tablemenu">
<tbody>
<tr>
<td><b>hello</b></td>
<td><b>hi</b></td>
</tr>
<tr>
<td>hey</td>
<td>Alright</td>
<td>Good</td>
<td>Good</td>
<td><a>Date</a></td>
</tr>
</tbody>
</table>
<table class="tablemenu">
<tbody>
<tr>
<td><b>hello</b></td>
<td><a>hi</a></td>
</tr>
<tr>
<td>hey</td>
<td>Alright</td>
<td>Good</td>
<td>Good</td>
<td><a>LINK</a></td>
</tr>
</tbody>
</table>
这是我的php
<?php
include("simpleHtmlDom/simple_html_dom.php");
$html = new simple_html_dom();
// Load a file
$html->load_file('http://mySite.net/');
foreach($html->find('table[class=tablemenu]') as $element){
$Link = $element->find('tr')[0]->find('td')[4]->find('a')[0];
echo($Link->text());
echo '<br />';
}
?>
起初我试着得到“日期”这个词
$Link = $element->find('tr')[1]->find('td')[4]->find('a')[0];
但这不起作用,它说未定义的索引。
然后我尝试了这个只是弄乱它并且它有效
$Link = $element->find('tr')[0]->find('td')[4]->find('a')[0];
由于某种原因,这得到了 Date 这个词。我不明白为什么,我确实需要它,但尽管它有效 - 我现在无法访问表第 1 行。抓住这个词说“嗨”。