https://github.com/softboxlab/php-collection-helper
Simple PHP helper collection
https://github.com/softboxlab/php-collection-helper
Last synced: 5 months ago
JSON representation
Simple PHP helper collection
- Host: GitHub
- URL: https://github.com/softboxlab/php-collection-helper
- Owner: SoftboxLab
- License: mit
- Created: 2017-06-12T20:15:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-16T13:41:31.000Z (over 8 years ago)
- Last Synced: 2025-06-02T02:11:31.348Z (8 months ago)
- Language: PHP
- Size: 34.2 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/SoftboxLab/php-collection-helper)
[](https://codecov.io/gh/SoftboxLab/php-collection-helper)
# Simple PHP Collection and array helper
Simple collection class to work with arrays on object-oriented paradigm and some array (collection) helpers with standardization of the parameters (data first, callback later, like *javascript*).
## Collection
In this definition, our collection is *Immutable*, which means that *every* operation should return a new collection, keeping the original collection intact.
```php
$collection = new Collection([1, 2, 3, 4]);
$newCollection = $collection->map(function ($item) {
return $item * 2;
});
print_r($newCollection->all()); // [2, 4, 6, 8]
print_r($collection->all()); // [1, 2, 3, 4]
```
## Collection helper
This is the base support to the Collection class. All the methods are implemented here.
### List of available methods
- map($data, $callback ($value, $key));
- Map all the items of data with the provided callback. The callback will receive both value's and key's of the array.
- filter($data, $callback($value, $key), $keepKeys);
- Filter the given array with the provided callback. Only the items when the callback return's true will be returned on the filtered data. If false is passed to *keepKeys* parameter, the keys will be reseted.
- reduce($data, $callback($value, $key), $initialValue);
- Reduce's the given data with the given callback.
- transform($data, $changes, $delimiter);
- Transform the keys (change) of the given `$data` array with the `$changes` array. To navigate along the array, use the Laravel's dot syntax. If `$delimiter` provided, it changed the Laravel's dot syntax separator.
- transformArray($data, $changed, $delimiter);
- Same as transform, but should be used on a list, which will apply on every item. Same as map with transform.
## Transformer class
Simple array transformer class, which convert all the keys by new ones. Something like a `from-to` where the all the keys of the given array will be replaced the by the value of the given replaced array when the key matches.
Example:
```php
$transformer = new Transformer(['namae' => 'nombre']);
$data = ['namae' => 'William'];
$transformedData = $transformer->transform($data);
print_r($transformedData); // ['nombre' => 'William'];
```
## Contributing
Feel free to make any pull request you judge necessary!