首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >部分读取阵列

部分读取阵列
EN

Stack Overflow用户
提问于 2015-01-31 06:05:32
回答 5查看 53关注 0票数 1

我需要在循环中部分读取数组,这就是我要做的:

代码语言:javascript
运行
复制
$list = range(1, 9);
shuffle($list);

print_r($list);

for ($i=0; $i<=9; $i++) {

    if ($i % 3 == 0) {
        echo "=============== START =============== \n";
        foreach (array_splice($list, $i) as $value) {
            echo $value. "\n";
        }
        echo "=============== END =============== \n";
    }

}

输出:

代码语言:javascript
运行
复制
Array
(
    [0] => 4
    [1] => 6
    [2] => 8
    [3] => 3
    [4] => 7
    [5] => 1
    [6] => 9
    [7] => 2
    [8] => 5
)
=============== START =============== 
4
6
8
3
7
1
9
2
5
=============== END =============== 
=============== START =============== 
=============== END =============== 
=============== START =============== 
=============== END =============== 
=============== START =============== 
=============== END =============== 

..。所以它只打印了一次数组。但我希望数组在每次迭代中都会打印0-3, 3-6, 6-9

预期产出:

代码语言:javascript
运行
复制
=============== START =============== 
4
6
8
=============== END =============== 
=============== START =============== 
3
7
1
=============== END =============== 
=============== START =============== 
9
2
5
=============== END =============== 
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-01-31 06:17:20

改变array_splice($list, $i) as $value

致:array_slice($list, $i, 3) as $value

接合:删除数组的一部分并用其他东西替换它

切片:提取数组的一个片段

票数 2
EN

Stack Overflow用户

发布于 2015-01-31 06:27:10

代码语言:javascript
运行
复制
<?php
    $list = range(1, 9);
    shuffle($list);

    print_r($list);

    $chunks = array_chunk($list,3);

    foreach($chunks as $chunk){
        echo "=============== START =============== \n";

        foreach($chunk as $value){
            echo $value;
        }
        echo  "=============== END =============== \n";
    }



?>
票数 1
EN

Stack Overflow用户

发布于 2015-01-31 06:27:38

array_chunk是一种选择。将数组分割为3块,然后是foreach循环。

代码语言:javascript
运行
复制
$list = range(1, 9);
shuffle($list);
$chunks = array_chunk($list, 3);

foreach ($chunks as $chunk) {
    echo "=============== START =============== <br/>\n";
    foreach ($chunk as $value) {
        echo $value . "<br/>\n";

    }
    echo "=============== END ===============<br/> \n";

}

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

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

https://stackoverflow.com/questions/28248740

复制
相关文章

相似问题

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