foreach loop how to expect first result?
本问题已经有最佳答案,请猛点这里访问。
使用codeigner框架,我这里有这个代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php foreach ($allposts as $posts) { echo ' <img class="img-responsive user-photo" src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"> <!-- /thumbnail --> <!-- /col-sm-1 --> author_name).'">'.$posts->author_name.' <span class="text-muted">'.unix_to_human($posts->post_date).'</span> '.$posts->post.' <!-- /panel-body --> <!-- /panel panel-default --> <!-- /col-sm-11 -->'; } ?> |
现在我想把我的第一个结果或者第一个帖子排除在外?这是可能的
还有一个问题,我可以做一些类似于展示帖子的事情吗?但我的意思是一个接一个地排列右边和左边的第二个?
可以在foreach外部初始化变量,并在迭代内部进行计数。
1 2 3 4 5 6 7 8 9 10 | $count=0; foreach($allposts as $posts) { $count++; // incrememnt if($count==1) { // this is the first post } } |
选项2:用for循环代替
1 2 3 4 5 |
号
使用CSS浮动日志:
1 2 3 4 5 6 7 | .post:nth-child(odd){ float: left; } .post:nth-child(even){ float: right; } |
1 2 3 4 5 6 7 8 | foreach($value as $k => $v) { if($k === 0) { continue; } // rest your case } |
。
您可以在foreach循环之外声明var$count,将其初始化为0并在循环结束时递增。在循环开始时,检查$count变量是否为0—如果是这样—跳过echo。要显示一行左对齐和一行右对齐,请检查相同的$COUNT变量:如果$COUNT%2==0,则将一个方向与另一个方向对齐。