首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 迴圈輸出表格實現每行兩欄顯示技巧

     編輯:PHP 綜合知識

基本實作:陣列資料雙欄輸出

利用模運算子 % 判斷奇偶行,每兩筆資料換行:

<table width="100%" border="0" cellspacing="1" cellpadding="0" style="background:#CCC">
<tr>
    <td align="center" bgcolor="#FFFFFF">第一欄</td>
    <td align="center" bgcolor="#FFFFFF">第二欄</td>
</tr>
<tr>
<?php
$setarr = range(0, 9); // 模擬資料庫查詢結果
$i = 0;
foreach ($setarr as $val) {
    $i++;
    echo "<td align='center' bgcolor='#FFFFFF'>{$val}</td>";
    // 每 2 筆換行,但最後一行不補空白欄
    if ($i % 2 == 0 && $i < count($setarr)) {
        echo '</tr><tr>';
    }
}
?>
</tr>
</table>

進階情境:字串分割後再雙欄顯示

若資料來源為字串,需先用 explode() 轉為陣列:

<?php
$str = "Hello world. It's a beautiful day.";
$words = explode(" ", $str); // 以空格分割
print_r($words);
/* 輸出:
Array (
    [0] => Hello
    [1] => world.
    [2] => It's
    [3] => a
    [4] => beautiful
    [5] => day.
)
*/
?>

接著套用上述雙欄邏輯即可。

實用擴充:自動補齊空白欄位

若需求「每行必須滿兩欄」,最後不足時補上空白 <td></td>:

$total = count($data);
$cols = 2;
for ($i = 0; $i < $total; $i++) {
    if ($i % $cols === 0) echo '<tr>';
    echo "<td>{$data[$i]}</td>";
    if ($i % $cols === $cols - 1 || $i === $total - 1) {
        // 最後一行補齊
        $remainder = ($i + 1) % $cols;
        if ($remainder !== 0) {
            echo str_repeat("<td></td>", $cols - $remainder);
        }
        echo '</tr>';
    }
}

CSS 替代方案

現代前端建議使用 CSS Flexbox 或 Grid 實現響應式多欄佈局,PHP 僅輸出扁平列表,由前端控制換行,分離關注點更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved