如何将切片后的数组传递给函数,直到处理完整个数组

时间:2018-08-26 19:15:44

标签: php arrays logic

对不起,标题不清楚。

场景::我有一个包含500多个项目的数组。

问题:我需要将这些项目传递到一个接受不超过20个项目的数组的函数中。

我的解决方案:

$sliceSize = 20;

if(count($arr) > $sliceSize) {
    for($c = 0; count($arr) - $c*$sliceSize >= 0; $c++ ) {
        $show = array_slice($arr, $c*$sliceSize, $sliceSize, true);
        if(count($show) > 0)
             the_fantastic_function($show);
    }
}

是否有更好,更紧凑且性能更高的方式来做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用array_chunk

$arr = array_chunk($arr, 20);
foreach($arr AS $chunk) {
    the_fantastic_function($chunk);
}