【问题标题】:foreach loop how to expect first result? [duplicate]foreach 循环如何期待第一个结果? [复制]
【发布时间】:2016-02-29 23:01:26
【问题描述】:

使用 codeigniter 框架我在这里有这段代码

<?php 

foreach ($allposts as $posts) { 
echo '<div class="col-sm-1">
    <div class="thumbnail">
    <img class="img-responsive user-photo" src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png">
    </div><!-- /thumbnail -->
    </div><!-- /col-sm-1 -->

    <div class="col-sm-11">
    <div class="panel panel-default companel">
    <div class="panel-heading companel-heading">
    <strong><a href="'.base_url('home/user/'.$posts->author_name).'">'.$posts->author_name.'</a></strong> <span class="text-muted">'.unix_to_human($posts->post_date).'</span>
    </div>
    <div class="panel-body">
    '.$posts->post.'
    </div><!-- /panel-body -->
    </div><!-- /panel panel-default -->
    </div><!-- /col-sm-11 -->'; 
} 
?>

现在我想在我的情况下排除第一个结果或第一个帖子?有可能

还有一个问题,我可以做一些类似展示帖子的事情,但我的意思是一个接一个右对齐,第二个左对齐?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    您可以在 foreach 循环之外声明一个 var $count,将其初始化为 0,并在循环结束时将其递增。在循环开始时检查 $count 变量是否为 0 - 如果是这种情况 - 跳过回显。 要显示左对齐和右对齐的一行,请检查相同的 $count 变量:如果 $count%2 == 0 则对齐一个方向,否则对齐另一个方向。

    【讨论】:

      【解决方案2】:

      您可以在 foreach 之外初始化一个变量,并在迭代内部进行计数。

      $count=0;
      foreach($allposts as $posts)
      {
          $count++; // incrememnt
      
          if($count==1)
          {
             // this is the first post
          }
      }
      

      选项 2: 使用 for 循环而不是 foreach

      for($i=0; $i<=count($allposts); $i++)
      {
          if($i==0) // this is the first post.
          echo $allposts[$i];
      }
      

      使用 CSS 浮动您的帖子:

      .post:nth-child(odd){
      float: left;
      }
      
      .post:nth-child(even){
      float: right;
      }
      

      【讨论】:

        【解决方案3】:
        foreach($value as $k => $v)
        {
            if($k === 0)
            {
                continue;
            }
            // rest your case
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-10-27
          • 2015-01-05
          • 1970-01-01
          • 2019-04-05
          • 2014-10-26
          • 1970-01-01
          • 2021-09-24
          • 1970-01-01
          相关资源
          最近更新 更多