flatten()¶
Flatten operator iterates over given stream of iterables and yields each item from each iterable in a single flat sequence.
By default, keys from inner iterables are not preserved, which can be overridden in constructor.
- class RunOpenCode\Component\Dataset\Operator\Flatten¶
- __construct(iterable<mixed, iterable<TKey, TValue>> $source, bool $preserveKeys = false)¶
- Parameters:
$source –
iterable<mixed, iterable<TKey, TValue>>Stream of streams to iterate over.$preserveKeys –
boolShould keys be preserved from the flattened stream, false by default.
- getIterator()¶
- Returns:
\Traversable<TKey, TValue>or\Traversable<int, TValue>Flattened stream.
Use cases¶
Use this operator to flatten nested structures, per example, to flatten buffer.
Example¶
1<?php
2
3new Stream($dataset)
4 ->bufferCount(100)
5 ->tap(function(Buffer $buffer): void {
6 // Do a batch processing...
7 })
8 ->flatten(); // Continue with original stream.