从页面上的一个表格中:e-kickoff,我将获得表3的值。该表显示了足球比赛,最多可以进行40场比赛。因此,我开始使用以下代码对表3中的所有行进行计数:
$table = $html->find('table', 3);
$total = $table->find('tr'); //FINDS TRs IN A TABLE(s)
$rows = count($total); //TOTAL ROWS IN ALL THE TABLE
echo "Aantal rijen in tabel 3 = " .$rows ."<br />"; //OUTPUTS
我想获取第2行中包含4个td(日期,小时,团队和比赛)的第一个比赛的值,以及第二个td中显示比赛主队地址的第4行的值。在表6和8、10和12、14和16、18和20、22和24等中,以下匹配项的值相同,依此类推,如表3中所示。
如果可能的话,我希望将每个匹配项的两行都放在一个数组中,但是为了测试,我开始显示一个数组中的第2、4、6、8行等等,而第4、8、12行,在第二个数组中是16,20等等。
我使用以下代码:
$table = $html->find('table', 3);
for( $m= $startrijmatch ; $m < $rows ; $m+=4 ) {
$match = '';
$match = $table->find('tr', $startrijmatch);
echo "Aantal cellen in rij " .$m. " = " .count($match->children()) ."<br />";
$cells = count($match->children());
echo "Aantal cellen in rij " .$m. " = " .$cells ."<br />";
//Loop through each child (cell) of the row
for( $i= 0 ; $i <= $cells ; $i++ ) {
echo $match->children($i)->plaintext ."<br />"; // Display the contents of each cell - this is the value you want to extract
$arrwedstrijd[] = $match->children($i)->plaintext ."<br />";
}
}
for( $a= $startrijadres ; $a < $rows ; $a+=4 ) {
$ret = $table->find('tr', $startrijadres);
echo "Aantal cellen in rij " .$a. " = " .count($ret->children()) ."<br />";
$cells = count($ret->children());
echo "Aantal cellen in rij " .$a. " = " .$cells ."<br />";
$wed = $ret->children(1)->plaintext ."<br />"; // Display the contents of each cell - this is the value you want to extract
$adres = $ret->find('td', 1);
echo "Adres = " .$adres ."<br />";
$arradres[] = $adres."<br />";
}
print_r($arrwedstrijd);
echo "<br />";
echo '<hr style="border: 3px solid green; margin-left: auto; margin-right: auto;" />';
echo "<br />";
print_r($arradres);
但是正如您在testpage上看到的那样,我仅获得相同的第一个值。
我在做错什么,以及如何将所有东西都放在一个阵列中?