https://github.com/awssat/array-helper
🔗 A flexible, simple & yet powerful array manipulation helper for PHP.
https://github.com/awssat/array-helper
array array-filter array-helper array-manipulations array-methods array-processing arrays callback chainable-methods endif loop method-chaining php
Last synced: 7 months ago
JSON representation
🔗 A flexible, simple & yet powerful array manipulation helper for PHP.
- Host: GitHub
- URL: https://github.com/awssat/array-helper
- Owner: awssat
- License: mit
- Created: 2018-03-15T08:19:45.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-17T15:40:13.000Z (almost 8 years ago)
- Last Synced: 2025-03-24T12:47:51.518Z (11 months ago)
- Topics: array, array-filter, array-helper, array-manipulations, array-methods, array-processing, arrays, callback, chainable-methods, endif, loop, method-chaining, php
- Language: PHP
- Homepage:
- Size: 10.7 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# array-helper
[](https://packagist.org/packages/awssat/array-helper)
[](https://travis-ci.org/awssat/array-helper)
[](https://styleci.io/repos/125334496)
⚡️ A flexible, simple & yet powerful array manipulation helper for PHP. It gives you the magic of method chaining and it's easier and shorter to be included in views. It Supports most of [PHP built-in array functions](http://php.net/manual/en/book.array.php)
```php
arr([' ', 'hi ', null, ' welcome'])->map('trim')->filter()->get()
>> ['hi', 'welcome']
```
## Features
- Support All PHP array functions.
- Short methods names, no need to write "array_" like array_map can be only map(..)
- Array items can be retrireve or updated as properties or keys [->key or [key] ]
- Support powefull conditional methods. if, else, if{AnyMethod}, endif.
- Support camelCase and snake-case methods name.
- Useful new methods like equal, exists .. etc
## Install/Use
You can install the package via composer locally in your project folder:
```bash
$ composer require awssat/array-helper
```
After installing it, just start using the helper `arr([...])` or `ArrayHelper::make([...])`
## Examples
Use any array function, no need for "array_", if you like it you can use it as in array_filter or arrayFilter .. all will work.
```php
$x = arr(['', 'item', null, 'item2'])->filter()->get()
>> ['item', 'item2']
```
You can use conditions, if(function() {...}), if{AnyMethod}, else(), endif()
```php
$x = arr(['item', 'item2', null])
->ifContains(null)
->filter()
->endif()
->get()
```
you may also use useful method with `if` like `ifEmpty`, `ifKeyExists` or `ifEqual` etc.
get() will return all items, while get(index) return a item in the array. all() is alias for get(all, true) which will ignore conditions and force return of items anyway.
The example above can be shortened using all() like this:
```php
$x = arr(['item', 'item2', null])
->ifContains(null)
->filter()
->all()
```
You can use do(callback) to run a callback on the array.
```php
$x = arr(['item ', 'item2'])
->do(function() {
return $this->map('trim');
})
->all()
```
PHP built-in array_map, array_walk, array_filter, and array_reduce are the best!
array_map to loop through all items and change them.
```php
$array->map(function($item) {
return 'Hello: '. strip_tags($item) . ' !';
});
```
or for simple functions use, `$array->map('trim')`
array_walk can be used for looping without changing items
```php
$array->walk(function($item, $key) {
print "$key: $item
\n";
});
```
or if you want to change the values
```php
$array->walk(function(&$item, $key) {
$item = $item * 2;
});
```
array_filter is great for filtering an array
```php
$array->filter(function($item) {
return $item > 5;
});
```
or just `$array->filter()` to remove any value equal to FALSE.
## Tests
Simply use:
```bash
$ composer test
```
## Credits
- [Abdulrahman M.](https://github.com/abdumu)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.