flow php

Example: Filter divide

Topic: Transformations

composer.json
{
    "name": "flow-php/examples",
    "description": "Flow PHP - Examples",
    "license": "MIT",
    "type": "library",
    "require": {
        "flow-php/etl": "1.x-dev"
    }
}
code.php
<?php

declare(strict_types=1);

use function Flow\ETL\DSL\{data_frame, from_rows, int_entry, lit, ref, row, rows, to_stream};

require __DIR__ . '/vendor/autoload.php';

data_frame()
    ->read(from_rows(rows(
        row(int_entry('a', 100), int_entry('b', 100)),
        row(int_entry('a', 100), int_entry('b', 200))
    )))
    ->filter(ref('b')->divide(lit(2))->same(ref('a')))
    ->withEntry('new_b', ref('b')->multiply(lit(2))->multiply(lit(5)))
    ->write(to_stream(__DIR__ . '/output.txt', truncate: false))
    ->run();

Output

+-----+-----+-------+
|   a |   b | new_b |
+-----+-----+-------+
| 100 | 200 |  2000 |
+-----+-----+-------+
1 rows

Contributors

Join us on GitHub external resource
scroll back to top