Как передать в функцию массив, разрезанный до обработки всего массива - PullRequest
0 голосов
/ 26 августа 2018

Извините, если заголовок не совсем понятен.

Сценарий: У меня есть массив с 500+ элементами.

Проблема: Iнужно передать элементы в функцию, которая принимает массивы не более 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 голосов
/ 26 августа 2018

Вы можете использовать array_chunk

$arr = array_chunk($arr, 20);
foreach($arr AS $chunk) {
    the_fantastic_function($chunk);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...