我希望包含一个表,该表依赖于特定表的行号。我通过
计算行号$html = file_get_html('URL');
$table = $html->find('table', 1);
// Row Numbers
$tr_count = $table->find('tr'); // get the total <tr> tag count
$count = count($tr_count);
现在我想用if函数包含该表。可能性有限。总有至少3行,最多有6行。所以我想如果我为每个案例制作一个if子句它会起作用,但是没有。你能看一下代码吗?
// Include Table
echo '<table>
<tbody>
<tr>
<td>row 1</td>
</tr>
<tr>
<td>row 2</td>
</tr>
<tr>
<td>row 3</td>
</tr>';
// If 3 end Table
if ($count = 3) {
echo '</tbody></table>';
}
// if 4 include row 4 and end table
elseif ($count = 4) {
echo '<tr><td>row 4</td></tr></tbody></table>';
}
// if 5 include row 4 and 5 and end table
elseif ($count = 5) {
echo '<tr><td>row 4</td></tr><tr><td>row 5</td></tr></tbody></table>';
}
// else (there can only be 6 max) include row 4,5 and 6 and close table
else {
echo '<tr><td>row 14</td></tr><tr><td>row 15</td></tr><tr><td>row 16</td></tr></tbody></table>';
}
答案 0 :(得分:1)
尝试使用开关:
switch($count) {
case 3:
echo '</tbody></table>';
break;
case 4:
echo '<tr><td>row 4</td></tr></tbody></table>';
break;
case 5:
echo '<tr><td>row 4</td></tr><tr><td>row 5</td></tr></tbody></table>';
break;
case $count > 5:
echo '<tr><td>row 14</td></tr><tr><td>row 15</td></tr><tr><td>row 16</td></tr></tbody></table>';
break;
}
使用开关可以完成更多操作,无需重复编写代码,但我会将其留作额外的功课。