eslym / php-light-stream
Very very lightweight stream
Installs: 193
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/eslym/php-light-stream
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2025-10-12 22:46:47 UTC
README
Very very lightweight stream
Note:
I am very lazy to write comments and documentation, so you have to read the code to see what it does.
Installation
cmposer require eslym/php-light-stream
Usage:
<?php require 'vendor/autoload.php'; use Eslym\LightStream\Stream; $data = [ ['id'=>1, 'name'=>'Test1', 'val'=>rand(0, 9)], ['id'=>2, 'name'=>'Test2', 'val'=>rand(0, 9)], ['id'=>3, 'name'=>'Test1', 'val'=>rand(0, 9)], ['id'=>4, 'name'=>'Test2', 'val'=>rand(0, 9)], ['id'=>5, 'name'=>'Test1', 'val'=>rand(0, 9)], ['id'=>6, 'name'=>'Test2', 'val'=>rand(0, 9)], ['id'=>7, 'name'=>'Test1', 'val'=>rand(0, 9)], ['id'=>8, 'name'=>'Test2', 'val'=>rand(0, 9)] ]; $result = Stream::of($data) ->map(function($record){return (object)$record;}) ->filter(function($record){return $record->val < 5;}) ->pair(function($record){return $record->name;}) ->collectWithKeys(); header('Content-Type: text/plain'); var_dump($result);