Arrayy: A Quick Overview of map(), filter(), and reduce()

Lars Moelleken
1 min readJul 28, 2020

first published here: http://suckup.de/2020/07/how-to-write-readable-code/

Arrayy: A PHP array manipulation library. Compatible with PHP 7+

The next examples are using the php array manipulation library “Arrayy” which is using generators internally for many operations.

https://github.com/voku/Arrayy

StringCollection::create(['Array', 'Array'])->unique()->append('y')->implode(); // Arrayy

map: transform all values in the collection

StringCollection::create(['foo', 'Foo'])->map('mb_strtoupper'); // StringCollection['FOO', 'FOO']

filter: pass all values to the truth test

$closure = function ($value) { return $value % 2 !== 0; } IntCollection::create([1, 2, 3, 4])->filter($closure); // IntCollection[0 => 1, 2 => 3]

reduce: transform all values into a new result

IntCollection::create([1, 2, 3, 4])->reduce( function ($carry, $item) { return $carry * $item; }, 1 ); // IntCollection[24]

--

--