2015-04-18 59 views
0

我有下面的代碼,它將創建一個包含三列的表。Foreach循環 - 三列(動態)表佈局

<?php $t = array(' 1 ' , ' 2 ' ,' 3 ', ' 4 ' , ' 5 '); 
$count = 0; 
$col =3; 
echo '<table><tr>'; 
foreach($t AS $r){ 
    $count++; 
    echo '<td> '.$r.' </td>'; 
    if($count == $col){ 
     echo '</tr><tr>'; 
     $count = 0; 
    } 
} 
echo '</tr></table>'; 

?> 

但我真正想要的是在創建新列之前第一列至少有4行等等。最大列數爲3,每列至少應有4行。

+0

您需要提供一個示例(使用文本很好),以確定數據在表格中的佈局方式。考慮到你的變量'$ t',你希望表格看起來如何?哪個單元格(行/列)包含'1'?哪個單元格包含'2'?等等? –

回答

0

你需要開始問你的數組有多少個元素了,說:

$elementsCount= count($t); 

然後測試,以決定你多少列需要:

if($elementsCount>8){ 
    $maxCols= 3; 
} 
elseif($elementsCount>4){ 
    $maxCols= 2; 
} 
else{ 
    $maxCols= 1; 
} 

現在創建三個foreach循環,每個情況一個。

是否有可能知道你是否想要均勻分配元素,只用一個循環而不是三個來解決問題是可能的。