2013-05-07 20 views
0

我想將我的數組拆分爲3列,剩下的不能被3整除以顯示。目前它不顯示。我的代碼如下:PHP表:數組不能被3整除不顯示最後一行

**Count value is 8. 

for($i=0; $i < count($subscriber); $i++) { 

    if($i%3==0) $middle_data .= '<tr>'; 

    <td>Array fields goes here</td> 

    if(($i+1)%3==0) $middle_data .= '</tr>'; 
} 

目前它顯示2行,但不能被3整除的最後一行沒有出現。

回答

1

您的代碼回顯所有值,但會產生無效標記。它看起來像

<table> 
<tr><td></td><td></td><td></td></tr> 
<tr><td></td><td></td><td></td></tr> 
<tr><td></td><td></td> 
</table> 

試試這個

$subscriber = array_fill(0, 8, 'value'); 
$count_column = 3; 

// loop by cells count, not values count 
$count_cell = ceil(count($subscriber)/$count_column) * $count_column; 

$middle_data = "<table>\n"; 
for ($i = 0; $i < $count_cell; $i++) 
    { 
    if ($i % $count_column == 0) 
     $middle_data .= '<tr>'; 

    if (isset($subscriber[$i])) 
     $middle_data .= '<td>' . $subscriber[$i] . '</td>'; 
    else 
     $middle_data .= '<td></td>'; 

    if (($i + 1) % $count_column == 0) 
     $middle_data .= "</tr>\n"; 
    } 
$middle_data .= "</table>\n"; 
echo $middle_data; 
+0

的感謝!完美的作品.. – kohjacky 2013-05-07 01:14:03

0

試試這個

<?php 
    $subscriber= array('1','2','3','4','5',6,7,8); 
    $middle_data=""; 

    if(count($subscriber)) 
    $middle_data .= '<tr>'; 

    for($i=0; $i < count($subscriber); $i++) 
    {   
     if((($i%3)==0) && $i!=0) 
     $middle_data .= '</tr><tr>'; 
     $middle_data .= " <td>$subscriber[$i] goes here </td>"; 
    } 

    if(count($subscriber)) 
    $middle_data .= '</tr>'; 

    echo $middle_data; 
    ?> 

輸出

<tbody><tr> <td></td> <td></td> <td></td></tr> .... </tbody> 
相關問題