2010-05-20 64 views
2

我有顯示的PHP的foreach值

foreach ($a as $key => $value) { 
    echo "<DIV id='container'> 
    <DIV id='middle'>$value</DIV> 
    </DIV>"; 
    //echo "<br />$key:$value<br />\n"; 
    } 

,其顯示結果的一個下方之外, 像

1234 
5678 
2010-05-20 
5678 
1590 
2010-05-19 

但我希望它在像

1234 5678 2010-05-20 
5678 1590 2010-05-19 
狀結構的表

我該怎麼做?

+0

使用給U中的編輯toolds同時發佈查詢,請重新格式化您的問題 – 2010-05-20 06:59:18

+0

你應該重新格式化您的問題......兩個輸出是完全一樣的(提示:把代碼在tickmarks之間或從行首開始縮進4個空格)! – nico 2010-05-20 06:59:44

+0

使用ctrl-k或4個空格進行縮進。 – Salil 2010-05-20 07:03:44

回答

1

如果您應該開始新行,您可以跟蹤例如模數。

+0

嗨, 所有的謝謝,這一切都有幫助....再次thnaks ... :) @nico:沒問題。謝謝。 – San82moon 2010-05-20 07:16:31

1

編輯的問題重新格式化後

我想你需要的是簡單的東西就行了:

echo '<table><tr>'; 
$n = 0; 

foreach ($a as $key => $value) 
     { 
     if ($n==3) 
      { 
      $n = 0; 
      echo '</tr><tr>'; 
      } 

     echo '<td>'.$value.'</td>'; 
     $n++; 
     } 
echo '</tr></table>'; 
+0

但它垂直顯示, 我希望它像表結構一樣。 謝謝, slc – San82moon 2010-05-20 07:03:24

+0

@ San82moon:我重寫了答案。在問題被正確格式化之前,你不清楚你想要什麼:)希望這有助於 – nico 2010-05-20 07:06:54

1

你可以這樣做:

$counter = 0; 
foreach ($a as $key => $value) { 
    $counter++; 

    if (($counter % 3) === 0) 
    { 
    echo "<DIV id='container'> 
     <DIV id='middle'>$value</DIV> 
     </DIV>"; 
    } 
    else 
    { 
    echo "<DIV id='container' style='float:left;'> 
     <DIV id='middle'>$value</DIV> 
     </DIV>"; 
    } 
} 
0

只需使用像這樣,

foreach ($a as $key => $value) { 
    echo "<DIV id='container' style='display:inline'> 
    <DIV id='middle' style='display:inline'>$value</DIV> 
    </DIV>"; 
    //echo "<br />$key:$value<br />\n"; 
    } 

根據您的第二行添加break語句。

0

默認情況下,div不會相互浮動。你可以給所有的div,除了風格中的第三個float: left。但是,如果您顯示錶格,則可以使用表格。

如果你可以從$key閹羊的價值得到啓動一個新的行或不是,你可以這樣做:

echo '<table><tr>'; 
foreach ($a as $key => $value) { 
    if($key == 'somevalue'){ 
     //start a new row if the $key allow 
     echo '</tr><tr>'; 
    } 
    echo '<td>'.$value.'</td>'; 
} 
echo '</tr></table>'; 

如果你不能從$key閹羊的價值得到啓動一個新的行或不行,使用一個計數器,就像這樣:

echo '<table><tr>'; 
$cnt = 0; 
foreach ($a as $key => $value) { 
    if($cnt % 3 == 0){ 
     //start a new row if this row contians 3 cells 
     echo '</tr><tr>'; 
    } 
    echo '<td>'.$value.'</td>'; 
    $cnt++; 
} 
echo '</tr></table>'; 
1

的種類是什麼尼科在說:

foreach ($a as $key => $value) 
{ 
    echo '<div style="width:33%;float:left">'.$value.'</div>'; 
} 

或者有什麼別在說:

$i = 0; 
$open = false; 

echo '<table>'; 

foreach($a as $key => $value) 
{ 
    if(0 == $i % 3) { 
     echo '<tr>'; 
     $open = true; 
    } 

    echo "<td>$value</td>"; 

    if(2 == $i % 3) { 
     echo '</tr>'; 
     $open = false; 
    } 

    $i++; 
} 

if($open) 
    echo '</tr>'; 

echo '</table>';