echo div class' last'在每个循环中

时间:2015-03-09 10:47:28

标签: php class echo

大家早上好。 只是在foreach循环中遇到一个小问题,我正在回应一个div class =“related-product”,并希望将最后一个div定位到'class =“相关产品的最后一个”。

<?php 
$relatedProd = explode(';', $row['relatedProd']);

if (sizeof($relatedProd) > 0) {
    echo '<h4>Hello World!</h4>';
}
foreach ($relatedProd as $key => $value) {
    echo '<div class="one_third product-table <?php
    if ( $key == ( count( $relatedProd ) -1 ) ) echo
    last ">';

    echo '</div>';
}
?>

2 个答案:

答案 0 :(得分:3)

试试这个,首先它更容易阅读,因此维护和调试,你也不需要在PHP块中启动另一个<?php

<?php 
   $relatedProd = explode(';', $row['relatedProd']);

   if (sizeof($relatedProd) > 0) {
      echo '<h4>Hello World!</h4>';
   }
   foreach ($relatedProd as $key => $value) {
      $extra = $key == count( $relatedProd ) -1 ? 'last' : '';
      echo '<div class="one_third product-table ' . $extra . '"></div>'; 
   }
?>

答案 1 :(得分:2)

这将通过直接在没有<?php标签的php循环中分配值来完成工作:

$lastStr = "";
foreach ($relatedProd as $key => $value) {
    if ($key == count($relatedProd)-1) {
        $lastStr = " last";
    }
    echo "<div class=\"one_third product-table{$lastStr}\"></div>";
}