2013-04-22 89 views
-1

如何刪除do-while生成的表中的最後一個元素?刪除do-while中的最後一個元素

在我的情況下,最後tr/td其中div.dividing_line存儲。

的代碼:

$ArrayLength = 6; 
$i = 1; 
do { 
    echo ' 
    <tr> 
     <td valign="middle">Data_Position</td> 
     <td valign="middle">Data_Item</td> 
     <td valign="middle">Data_Pieces</td> 
     <td valign="middle">Data_Price</td> 
    </tr> 
    <tr> 
     <td colspan="4"><div class="dividing_line"></div></td> 
    </tr> 
    '; 
    ++$i; 
} while ($i < $ArrayLength+1); 

例如:如果我有6項的數組中,通常do-while將做的工作,因此最終將有6 tr的數據和6 tr的與dividing_line

我需要的是6 tr的數據和5 trdividing_line的。那可能嗎?

+0

你是怎麼認爲這是一個'foreach'?這是一個'做'... – 2013-04-22 13:45:53

+0

請原諒我,你說得對。我在前臺有另一個案例,所以我很困惑!謝謝 – onbids 2013-04-22 13:47:35

+0

僅供參考,任何條件語句都可以在循環語句中使用.. – raidenace 2013-04-22 13:47:44

回答

1

嘗試這個 -

$ArrayLength = 6; 
$i = 1; 
do { 
    echo ' 
    <tr> 
     <td valign="middle">Data_Position</td> 
     <td valign="middle">Data_Item</td> 
     <td valign="middle">Data_Pieces</td> 
     <td valign="middle">Data_Price</td> 
    </tr>'; 
    if($i != $ArrayLength) { 
    echo '<tr> 
     <td colspan="4"><div class="dividing_line"></div></td> 
    </tr> 
    '; 
} 
    ++$i; 
} while ($i < $ArrayLength+1); 
+0

是啊!涼。非常感謝! – onbids 2013-04-22 13:53:19

1
$ArrayLength = 6; 
$i = 1; 
do { 
    echo ' 
    <tr> 
     <td valign="middle">Data_Position</td> 
     <td valign="middle">Data_Item</td> 
     <td valign="middle">Data_Pieces</td> 
     <td valign="middle">Data_Price</td> 
    </tr>'; 

    if($i < $ArrayLength) 
    { 
     echo ' 
     <tr> 
      <td colspan="4"><div class="dividing_line"></div></td> 
     </tr>'; 
    } 
    ++$i; 
} while ($i < $ArrayLength+1); 
1

使用一個額外的if語句來檢查你是否在最後一個元素:

if (%i < $ArrayLength) { echo '<tr>...dividing_line</tr>'; } 
0

我覺得你的方法只需要一個額外的步驟。

這可能是這樣的:

$data = null; 

foreach ($rows as $row) { 
    $data[] = "<tr><td valign=\"middle\">Data_Position</td><td valign=\"middle\">Data_Item</td><td valign=\"middle\">Data_Pieces</td><td valign=\"middle\">Data_Price</td></tr>"; 
} 

print implode("<tr><td colspan=\"4\"><div class=\"dividing_line\"></div></td></tr>", $data); 

通過這種方式,你可以完成你想要的東西,沒有任何更多的邏輯。當然,它可以改變或重新設計,但我認爲這種方式將爲您提供簡單而優雅的解決方案來解決您的問題。

希望它有幫助:P

+0

嗯不,對不起...沒有讀完最後一部分。我很抱歉。讓我思考一下,我會改進我的答案:S – 2013-04-22 13:56:46

相關問題