首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Foreach和nth术语

Foreach和nth术语
EN

Stack Overflow用户
提问于 2015-01-08 19:27:57
回答 4查看 397关注 0票数 0

我试图将内容打印成三列,这意味着我需要检索与术语3n-2匹配的记录。我该怎么做..。也许用模数?谢谢!

代码语言:javascript
复制
foreach($grid as $tile):
    echo '<div class="tile"><img src="/media/full/' . $tile['source'] . '"/></div>';
endforeach;
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-08 19:31:35

我想你要找的只是一个额外的柜台:

代码语言:javascript
复制
$i=0;
foreach($grid as $tile) {
    if($i++ % 3 == 0) {
        //do something every 3rd time
    }
    //do something every time
}
票数 4
EN

Stack Overflow用户

发布于 2015-01-08 19:36:55

我想你是在寻找这样的东西:

(示例代码,只需使用$arr更改$grid)

代码语言:javascript
复制
<?php

    $arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);

    for($count = 0; $count < count($arr); $count++) {

        if($count % 3 == 0 && $count != 0)
            echo "<br />";
        echo    $arr[$count];

    }


?>

输出:

代码语言:javascript
复制
123
456
789

或者,如果希望将列放在单独的数组中:

代码语言:javascript
复制
<?php

    $arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
    $columnOne = array();
    $columnTwo = array();
    $columnThree = array();

    for($count = 0; $count < count($arr); $count++) {

        if($count % 3 == 0)
            $columnOne[] = $arr[$count];
        elseif($count % 3 == 1)
            $columnTwo[] = $arr[$count];
        else
            $columnThree[] = $arr[$count];

    }

    print_r($columnOne);
    print_r($columnTwo);
    print_r($columnThree);

?>

输出:

代码语言:javascript
复制
Array ( [0] => 1 [1] => 4 [2] => 7 )
Array ( [0] => 2 [1] => 5 [2] => 8 )
Array ( [0] => 3 [1] => 6 [2] => 9 )
票数 1
EN

Stack Overflow用户

发布于 2015-01-08 19:32:55

是的,如果我正确理解您的意思,我将使用模php操作符%

代码语言:javascript
复制
<?php
  $grid = array(1,2,3,4,5,6,7); # just for testing

  $n = 1;
  foreach($grid as $tile) {
    if (($n + 2) % 3 == 0) {
      #echo '<div class="tile"><img src="/media/full/' . $tile['source'] . '"/></div>';
      echo "$n\n"; # just for testing
    }
    $n++;
  }
?>

它产生:

代码语言:javascript
复制
$ php x.php 
1
4
7
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27848030

复制
相关文章

相似问题

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