Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将已切片的数组传递到函数中,直到处理完整个数组_Php_Arrays_Logic - Fatal编程技术网

Php 如何将已切片的数组传递到函数中,直到处理完整个数组

Php 如何将已切片的数组传递到函数中,直到处理完整个数组,php,arrays,logic,Php,Arrays,Logic,如果标题不太清楚,很抱歉 场景:我有一个包含500多个项目的阵列 问题:我需要将项传递到一个函数中,该函数接受的数组不大于20项 我的解决方案: 有没有更好、更紧凑、性能更好的方法呢?您可以使用array\u chunk 为什么该功能最多只允许20个元素?你不能只编辑函数吗? $sliceSize = 20; if(count($arr) > $sliceSize) { for($c = 0; count($arr) - $c*$sliceSize >= 0; $c++ )

如果标题不太清楚,很抱歉

场景:我有一个包含500多个项目的阵列

问题:我需要将项传递到一个函数中,该函数接受的数组不大于20项

我的解决方案:

有没有更好、更紧凑、性能更好的方法呢?

您可以使用array\u chunk


为什么该功能最多只允许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);
    }
}
$arr = array_chunk($arr, 20);
foreach($arr AS $chunk) {
    the_fantastic_function($chunk);
}