否则如果 - 表行数量的PHP

时间:2018-04-10 10:51:13

标签: php if-statement html-table

我希望包含一个表,该表依赖于特定表的行号。我通过

计算行号
$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>';
            }

1 个答案:

答案 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;
}

使用开关可以完成更多操作,无需重复编写代码,但我会将其留作额外的功课。