【问题标题】:Loop 4 array elements. then break. then loop the 4 next array elements, and so on until end of array循环 4 个数组元素。然后打破。然后循环 4 个下一个数组元素,依此类推,直到数组结束
【发布时间】:2013-05-12 11:50:49
【问题描述】:

我的数组包含动态数量的元素。 它们分为 4 个。所以

array
 [0] -> "group one"
 [1] -> "group one"
 [2] -> "group one"
 [3] -> "group one"

 [4] -> "group two"
 [5] -> "group two"
 [6] -> "group two"
 [7] -> "group two"

 [8] -> "group three"
 [9] -> "group three"
 [10] -> "group three"
 [11] -> "group three"

我想要做的是在一个循环中输出并测试每个组中的所有元素,添加然后对下一组执行相同的操作。

我怀疑这应该很容易..使用计数器来跟踪有多少输出等,但显然我的大脑无法在这个问题上正常工作:)

感谢任何打扰我的人:)

【问题讨论】:

    标签: php arrays output


    【解决方案1】:

    看看array_chunk

    <?php
    foreach(array_chunk(range(1, 12), 4) as $index => $chunk) {
        echo "Printing Chunk $index\n";
        foreach($chunk as $number) {
            echo "$number\n";
        }
    }
    
    /*
        Printing Chunk 0
        1
        2
        3
        4
        Printing Chunk 1
        5
        6
        7
        8
        Printing Chunk 2
        9
        10
        11
        12
    */
    

    安东尼。

    【讨论】:

    • 注意:如果要保留密钥,请将 True 作为第三个参数传递。
    • array_chunk() !!太棒了:D 我需要知道的功能太多了!非常感谢,A.S!
    【解决方案2】:
    <?php
    
    $length = count($array);
    
    // the first element of each group is indexed by $i
    // so the second element can be accessed by $i + 1, the third by $i + 2, ...
    for($i = 0; $i < $length; $i += 4)
    {
        echo "1. element: " . $array[$i];
        echo "2. element: " . $array[$i+1];
        echo "3. element: " . $array[$i+2];
        echo "4. element: " . $array[$i+3];
    
        // do something
    }
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 2018-11-13
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2021-04-22
      相关资源
      最近更新 更多