Chunk

Chunk ( int $size )

Groups all input values into arrays with size values in each array. The last output array may contain less than size values. This is similar to PHP’s array_chunk().

Parameters

size
How many values should be in every chunk.

Examples

Example #1

Basic usage.

<?php
use Webbhuset\Pipeline\Constructor as F;

$chunk = F::Chunk(3);

$input = [1, 2, [3, 4], 'five', 6, null, 8];

echo json_encode(iterator_to_array($chunk($input)));

// Output: [[1,2,[3,4]],['five', 6, null],[8]]

Example #2

Using Chunk to batch database queries.

<?php
use Webbhuset\Pipeline\Constructor as F;

$fun = F::Compose([
    F::Chunk(100),
    F::Map(function ($ids) {
        return $dbConnection->fetchValuesByIds($ids);
    }),
    F::Expand(),
]);

See Also

  • GroupWhile - Group input values based on a callback function.