array-helper
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:
$ composer require awssat/array-helperAfter 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.
$x = arr(['', 'item', null, 'item2'])->filter()->get()
>> ['item', 'item2']You can use conditions, if(function() {...}), if{AnyMethod}, else(), endif()
$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:
$x = arr(['item', 'item2', null])
->ifContains(null)
->filter()
->all()You can use do(callback) to run a callback on the array.
$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.
$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
$array->walk(function($item, $key) {
print "$key: $item<br />\n";
});or if you want to change the values
$array->walk(function(&$item, $key) {
$item = $item * 2;
});array_filter is great for filtering an array
$array->filter(function($item) {
return $item > 5;
});or just $array->filter() to remove any value equal to FALSE.
Tests
Simply use:
$ composer testCredits
License
The MIT License (MIT). Please see License File for more information.