enzyme / loopy
A loop library for PHP.
v1.0.0
2016-04-03 07:54 UTC
Requires
- php: >=5.5.0
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^0.6.1
This package is not auto-updated.
Last update: 2025-03-01 21:06:28 UTC
README
A loop library for PHP.
Installation
Run the following command inside of your project directory.
composer require enzyme/loopy
Usage
Simple
A simple loop over an array.
use Enzyme\Loopy\Each; $array = [1, 2, 3]; Each::shallow()->begin($array, function($bag) { echo $bag->value() . ', '; });
The above will output 1, 2, 3,
Deep
A deep loop over a multidimensional array.
use Enzyme\Loopy\Each; $array = [1, 2, 3, 4 => [4, 5, 6]]; Each::deep()->begin($array, function($bag) { echo $bag->value() . ', '; });
The above will output 1, 2, 3, 4, 5, 6,
Filtered
A loop over a filtered array.
use Enzyme\Loopy\Each; use Enzyme\Loopy\Filters\SkipNulls; $array = [1, 2, null, 4, 5]; Each::deep(new SkipNulls)->begin($array, function($bag) { echo $bag->value() . ', '; });
The above will output 1, 2, 4, 5,
Bags
The $bag
object passed to the callback function generally contains the follow information.
Key | Value | Description |
---|---|---|
key() | Key | The enumerable objects key for the given pass. |
value() | Value | The enumerable objects value for the given pass. |
cycle() | Current cycle (0 based) | How many times around the entire object the looper has gone. |
depth() | Current depth (0 based) | The current depth of the pass, for multidimensional arrays. |
index() | Current index (0 based) | The current index, in this case index is really a count of the number of items encountered so far. |
Filters
Filter | Description |
---|---|
SkipNulls | Will skip over any values which are null. |
Regex | Will test value against the supplied regular expression. |
Equal | Will test value for equality against the given rule. (===) |
Less | Will test that value is less than the give rule, or less than or equal if parameter 2 in the constructor is set to true. |
Greater | Will test that value is greater than the give rule, or greater than or equal if parameter 2 in the constructor is set to true. |