no22 / sloth
simple lazy application iterator
Installs: 72
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/no22/sloth
Requires
- php: >=5.2
This package is not auto-updated.
Last update: 2025-10-11 19:30:15 UTC
README
Sloth is a simple lazy application iterator for PHP 5.2 or later.
Setup
require "Sloth/Autoload.php";
Create iterator object
$iter = Sloth::iter($array_or_iterator);
or
$iter = Sloth::iter($initialValue, $functionCallback);
Lazy map
function foo($n) { echo "foo called.\n"; return $n * $n; } $iter = Sloth::iter(array(1,2,3,4,5))->map('foo'); foreach ($iter as $e) { echo $e . "\n"; }
foo called.
1
foo called.
4
foo called.
9
foo called.
16
foo called.
25
Infinite sequense
for PHP 5.2
$even = Sloth::iter(0, Sloth::fn('$n + 2')); $evenLessThan10 = $even->takeWhile(Sloth::fn('$n < 10')); foreach ($evenLessThan10 as $e) { echo $e . "\n"; }
for PHP 5.3
$even = Sloth::iter(0, function($n){return $n + 2;}); $evenLessThan10 = $even->takeWhile(function($n){return $n < 10;}); foreach ($evenLessThan10 as $e) { echo $e . "\n"; }
License
Sloth is dual Licensed MIT and GPLv3. You may choose the license that fits best for your project.