PHP - 创建表使用STR_PAD

时间:2013-11-29 05:44:20

标签: php html-table

示例php就像这样

        for ($i=1; $i<=6; $i++){
            $i = str_pad($i, 2, "0", STR_PAD_LEFT);
            $url = $i."<br />";
            echo $url;
        }

我想要输出使用表:

<table>
  <tr>
    <td>
        01<br>
        02<br>
    </td>
    <td>
        03<br>
        04<br>
    </td>
    <td>
        05<br>
        06<br>
    <td>
  </tr>
</table>

感谢所有能帮助我的人:D

2 个答案:

答案 0 :(得分:2)

尝试这样的事情。使用模%,您可以检查值是偶数/奇数,并打开/关闭表格单元格。

//open the table
echo '<table><tr>';

 for ($i=1; $i<=6; $i++){

    // if odd start cell
    if($i % 2 != 0) echo '<td>';

            $i = str_pad($i, 2, "0", STR_PAD_LEFT);
            $url = $i."<br />";
            echo $url;

    //if even close the cell
    if($i % 2 == 0) echo '</td>';
        }

// Close the table      
echo '</tr></table>';

修改
如果您希望在50之后发生单元格中断,那么您可以使用50$i % 50 == 1

将模数设为$i % 50 == 0
//open the table
echo "<table><tr>";

 for ($i=1; $i<=100; $i++){

    // if odd start cell
    if($i % 50 == 1) echo "<td>";

            $i = str_pad($i, 2, "0", STR_PAD_LEFT);
            $url = $i."<br />";
            echo $url;

    //if even close the cell
    if($i % 50 == 0) echo "</td>";
        }

// Close the table      
echo "</tr></table>";

答案 1 :(得分:0)

如果你知道你总是成对输出......

# i personally prefer sprintf over str_pad.  But if you don't,
# you only have one place to have to change it.
$format = function($x) { return sprintf('%02d', $x); };

# write out each pair.  Note the $i+=2.
for ($i=1; $i<=6; $i+=2) {
    $first = $format($i);
    $second = $format($i+1);
    echo "<td>{$first}<br>{$second}<br></td>";
}