PHP-如何使用div将所有项目包装在foreach循环内

时间:2018-11-23 18:06:53

标签: php html

我已经been了半个小时,试图找出答案
我在一个foreach循环中有一个包装器div,我正试图强迫它回显一个而不重复

    foreach ($apples as $apple) {
        //echo only once bellow
        <div class="Wrapper">
        //echo only once Above

        echo $apple;

        //echo only once bellow
        </div>
        //echo only once Above
    }

我不希望将Wrapper div移到foreach之外,将div放在foreach内并且没有重复项是非常重要的。

3 个答案:

答案 0 :(得分:0)

也许这会有所帮助,因为您希望将其保留在foreach循环中

$numItems = count($arr);

$i = 0;

foreach($arr as $ar) {

    $i = $i+1;

    if ($i == 1) {
        echo '<div class="class">';
    }

    // do your stuff

    if($i == $numItems) {
        echo "</div>";
    }
} 

答案 1 :(得分:0)

您没有提及,但是如果仅在Wrapper变量中有任何计数时才需要放置$apples div,则只需检查if(count($apples))然后放入Wrapper

<?php
    if(count($apples)){ 
      echo '<div class="Wrapper">';
      foreach ($apples as $apple) {
        echo $apple;
      }
      echo '</div>';
    }
?>

答案 2 :(得分:0)

注意:我知道这不是写的好方法,但是根据他的情况,我建议使用此代码。


我不知道您为什么不希望将div放在foreach循环之外,但是无论如何,您都可以使用以下代码来实现这一目标...

<?php
    foreach ($apples as $apple) {
        static $i = 0;
        if ($i == 0) {
            echo "<div class='Wrapper'>";
        }
        echo $apple;
        $i++;
        if ($i == count($apples)){
            echo "</div>";
        }
    }
?>