Срок работы пробной версии продукта истек. Через две недели этот сайт полностью прекратит свою работу. Вы можете купить полнофункциональную версию продукта на сайте www.1c-bitrix.ru. ДеАкс - Шпаргалка
вход   
 
 

Разбивка массива на заданное количество подмассивов

весь список раздела "Шпаргалка"


Функция обработчик.
Первый аргумент - обрабатываемый массив.
Второй аргумент - необходимое количество подмассивов.

код php
function breakdown_column($originalArr, $countCols)
{
    $countRows = ceil(count($originalArr) / $countCols);
    $resultArr = [];
    $processedCol = 0;
    for ($row = 0; $row < $countCols; $row++) {       
        $resultArr[$row] = [];
        $resultArr[$row] = array_slice($originalArr, $processedCol, $countRows); 
        $processedCol += $countRows;
    }
    return $resultArr;
}

Пример обработки.

код php
$ar_origin = ['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять' ]; // оригинальный массив

// делим на три части
$ar_res_3 = breakdown_column($ar_origin, 3); /* Результат Array ( [0] => Array ( [0] => один [1] => два [2] => три [3] => четыре ) [1] => Array ( [0] => пять [1] => шесть [2] => семь [3] => восемь ) [2] => Array ( [0] => девять [1] => десять ) ) */
// делим на четыре части
$ar_res_4 = breakdown_column($ar_origin, 4); /* Результат Array ( [0] => Array ( [0] => один [1] => два [2] => три ) [1] => Array ( [0] => четыре [1] => пять [2] => шесть ) [2] => Array ( [0] => семь [1] => восемь [2] => девять ) [3] => Array ( [0] => десять ) ) */