首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Foreach Skip前6

PHP Foreach Skip前6
EN

Stack Overflow用户
提问于 2016-11-01 17:43:55
回答 4查看 695关注 0票数 0

我正在做一个预测,我想跳过前六个条目。到目前为止,我只需要输出相同的一个,对于剩下的条目数量,我应该把if($i2==6) continue;放在其他地方吗?

代码语言:javascript
复制
   <?php
               $features = $property->get_features();
               if($lastRec2=count($features)){
                        echo '<div class="row">';
                        $i2=0;
                            foreach($features as $feature2) {
                                $i2++;
                                if($i2==6) continue;
                                if( ($i2 % 3== 1) && ($i2<$lastRec2) ) echo '</div><div class="row">';
                                    echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">'.  $feature .'</div></div>';
                            }
                        echo '</div>';
                     }
                  ?>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-11-01 18:01:47

只需切换到for循环即可。除非你需要迭代器。

代码语言:javascript
复制
$features = $property->get_features();
if($lastRec2 = count($features)){
  echo '<div class="row">';
  for ($i2 = 6; $i2 < count($features); ++$i2) {
    if( ($i2 % 3 == 1) && ($i2 < $lastRec2) ) echo '</div><div class="row">';
      echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">'.  $features[$i2] .'</div></div>';
    }
    echo '</div>';
  }
票数 1
EN

Stack Overflow用户

发布于 2016-11-01 17:49:06

应该是

代码语言:javascript
复制
if($i2<=6)
    continue;

continue;将阻止foreach的其余部分执行。

您的代码将只工作一次,因为$i2只被设置为6一次。

票数 1
EN

Stack Overflow用户

发布于 2016-11-01 18:06:10

您可以使用array_chunkarray_slice来完成您所追求的目标:

http://php.net/manual/en/function.array-slice.php

http://php.net/manual/en/function.array-chunk.php

代码语言:javascript
复制
$features = $property->get_features();

$skipped = array_slice($features, 6);

$chunks = array_chunk($skipped, 3);

foreach ($chunks as $chunk) {
    echo '<div class="row">';

    foreach ($chunk as $feature) {
        echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">' . $feature . '</div></div>';
    }

    echo '</div>';
}

或者,如果希望使用HTML使代码更具可读性,则可以:

代码语言:javascript
复制
foreach ($chunks as $chunk) : ?>

    <div class="row">

        <?php foreach ($chunk as $feature) : ?>

            <div class="col-md-4 p-b-15">

                <div class="fa-stack fa-1x checkmark-icon">
                    <i class="fa fa-circle fa-stack-2x icon-background"></i>
                    <i class="fa fa-check fa-stack-1x icon-text"></i>
                </div>

                <div class="checkmark-inner">
                    <?php echo $feature ?>
                </div>

            </div>

        <?php endforeach; ?>

    </div>

<?php endforeach;

当然,我假设$feature2在你的问题上是个错误。如果没有,让我知道哪个变量意味着什么,我会更新我的答案。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40365601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档